This question is the same question from the previous assignment. Now, you must build the system using classes (OOP) and make it accommodate ordering from multiple restaurants each having its own menu. An order could only be from one restaurant.
You should at a minimum include the following classes:
Restaurant, Menu, MenuItem, and Order.
Each order should get a unique random ID that consists of alphanumeric characters, and the user should be able to save the order in a file with a filename that has the oder_xxxxxx_resturantname_MM/dd/yyyy_HHMMSS.txt.
Your initial display menu should give a list of restaurants available to order from.
You should have a file that looks something like this:
Restaurant1
Category, ItemName, price
Category, ItemName, price
Category, ItemName, price
END
Restaurant2
Category, ItemName, price
Category, ItemName, price
Category, ItemName, price
Category, ItemName, price
END
In this assignment, you will build a restaurant favorites Meal Builder. Your system will build the menu of any restaurant, and enable a patron to build a meal. The meal must include all categories (Appetizers, Entres, Drinks, Deserts). You should make it dynamic to have more categories of course. Under each category, you will have menu items with pricing information. The system will enable a patron to build a meal (or several meals for multiple people), and price the whole ticket.
Please make sure you include options for the patron to quit or to start building a new meal. Your design can also be different from my implementation such that it would allow to delete an item from a meal - be creative.
Your output must be formatted and must produce a very elegant ticket. Here is an example implementation (the minimum functionality).
Sample program output: see image.