Reference no: EM13763529
You will write a menu and ordering system for a restaurant using a class for the menu items. Put the class code and the main in a single file.
Write a class menuItem that contains the following:
A member variable to contain an integer that is an item number
A member variable to contain a string describing the item, for example "Cheese Omelette"
A member variable to contain the price of the item
A default constructor that sets the item number to 0, the description to "unknown" and the price to 0
A constructor that accepts the item number, description and price as arguments.
Accessor (get) functions for each of the member variables
Mutator (set) functions for each of the member variables
A function called printItem that prints out the information for a menu item in a nice format on a single line.
Write your main to:
Prompt the user to enter the number of items on the menu. Validation: The input should be greater than 0 and not more than 50
Dynamically allocate an array of menuItems based on the number of items input.
Dynamically allocate a parallel array of integers that will store the quantity of that item in a customer order.
Prompt the user to enter the description and price for each menu item. You can assign the item number using the order the items were entered (starting at 1, not 0). You'll need to use cin.get() and getline when mixing string and numeric input (see pages 120-125 in the textbook). Validation: Do not allow prices <= 0.
Display the menu. Make up a name for the restaurant that includes your last name.
Loop asking the user to enter a sales ticket number or 0 to exit. If 0 is entered, the program should output the grand total of sales for the run and end. Remember to delete the dynamic arrays before the return 0.
If a ticket number is entered, loop asking the user to enter the item numbers ordered on that ticket, entering 0 when finished. It is your choice if you want to ask for a quantity or just have the user enter the same item number multiple times. Each time the user selects an item, increment the count of that item chosen in the parallel integer array. When the user enters 0, display the list of the items they ordered with the count of each (with or without the menu item number or cost). Then display the total amount due for that order.
Validation: A check number should not be less than 0.
I've attached a sample run. Please feel free to improve on my user interface. Also feel free to break your main up into functions. I created functions to print out the menu and to get each menu item input from the user.
When your code is working properly, copy and paste the code to the answer box. Also attach a screen capture showing the program running.