Reference no: EM1332177
Create a class named Order that performs order processing of a single item that sells for $19.99 each.
Create 4 Order class fields: order number, customer name, quantity ordered, and total price. Create public accessors for each field except total price.
Create an Order class constructor that takes parameters for all of the class fields except total price.
The total price field is calculated as quantity ordered times unit price (19.95) whenever the quantity is set, so it only needs a get accessor (read only). total = quantity * PRICEEACH
Create an (override) Equals() method that determines two Orders are equal if they have the same order number.
Create an (override) GetHashCode() method that returns the order number.
Create an (override) ToString() method that returns a string containing all order information.
Create a ShippedOrder class that derives from Order.
A ShippedOrder has a $4.00 shipping fee regardless of how many times it is ordered so each total order must add $4.00 to the total. total = quantity * PRICEEACH + SHIPPING_FEE
Override any any methods in the parent class as necessary.
In Main:
Create an array of five ShippedOrder objects.
Prompt the user for values for each Orders object; do NOT allow duplicate order numbers and force the user to reenter the order when a duplicate order number is entered.
ShippedOrder objects should be sorted by order number before they are displayed.
When the five valid orders have been entered, display them all plus a total of all orders.
Internal Documentation.
Note that you will be overriding three object methods in the Order class and at least one of those in the ShippedOrder class. In the ShippedOrder class you will also need to override the Quantity accessor/property. Don't forget about IComparable.
An example of program output might look like this:
Enter order number 500
Enter customer name Johnson
Enter quantity 2
Enter order number 200
Enter customer name Olson
Enter quantity 1
Enter order number 200
Sorry, the order number 200 is a duplicate.
Please reenter 100
Enter customer name Jensen
Enter quantity 8
Enter order number 300
Enter customer name Swensen
Enter quantity 2
Enter order number 400
Enter customer name Olafsun
Enter quantity 4
Summary:
ShippedOrder 100 Jensen 8 @$19.95 each. Shipping is $4.00
Total is $163.60
ShippedOrder 200 Olson 1 @$19.95 each. Shipping is $4.00
Total is $23.95
ShippedOrder 300 Swensen 2 @$19.95 each. Shipping is $4.00
Total is $43.90
ShippedOrder 400 Olafsun 4 @$19.95 each. Shipping is $4.00
Total is $83.80
ShippedOrder 500 Johnson 2 @$19.95 each. Shipping is $4.00
Total is $43.90
Total for all orders is $359.15
Press any key to continue . . .