Assume that you are the manager of a restaurant. Create an interactive program that allows you to manage the order from your customers and compute your daily sales. First create a text file that contains the menu of your restaurant. Arrange the menu such that the items are properly organized in different categories, for instance food, drinks and desserts. Your program should be able to read data from the input file. When the program started, the main menu should display the following options 1. Show the current order of the customer. If the order is empty, display ”Please select your order first”. The order should consist of the item name, quantity, price and the total of the current order.

  1. Show the restaurant’s menu to the customer. Then take the order from the customer. If an item is ordered repeatedly, the quantity of the item in the order should be increased without duplicating the item in the order.
  2. Change the quantity of the item that is ordered by the customer. If the order is empty, display ”Please select your order first”. The customer can change the quantity to any non-negative number. If the quantity is changed to zero, then that item is deleted from the order. Update the total in the order accordingly when the quantity changed.
  3. Remove an item from the order. If the order is empty, display ”Please select your order first”. Show the current order to the customer so that the customer can select the item to be removed. Update the total in the order accordingly when an item is removed.
  4. Pay and print receipt. Let the customer pay. Calculate the change and print the receipt. Keep receipts of all customers in a text file.
  5. Remove all items from the order. If the order is empty, display ”Please select your order first”. Prompt a message to ask if the customer/ user are sure to remove all items in the order. If yes, proceed to empty the order.
  6. Exit program. Print ”Exiting program...” on the screen.
  7. Show the daily sales. Calculate the sales of each item in the restaurant’s menu based on the total quantities ordered from each order and display the daily sales. Write the daily sales in a text file. Make sure your program takes account of invalid inputs such as not allowing negative value for quantities. For convenience, when the user is in one of the options 1-8, let the user go back to the main menu by hitting 0.

While you didn't show your work, no manager would limit themselves to C++. Today if I were to do this I'd not code up this in C++ but create a web page with the usual server backend maybe with MySQL, Python and such. This way the system would scale and not require deploying the app to the machines.

It would also let tablets, phones and more use the restaurant system. So this can't be a good example of how such systems are made today and again, no manager I know codes their restaurant system in C++.