This project is designed to implement a restaurant management system for the Computer Science Faculty.
The system is intended for the front-desk staff to manage the restaurant’s daily operations such as registering new orders, changing their status, canceling or modifying them, and reviewing all recorded orders.
- Menu – Displays all available dishes, drinks, and appetizers.
- New Order – Registers a new order by receiving the student’s name, surname, and student ID.
- Order Delivered – Updates an order’s status to Delivered.
- Cancel Order – Cancels an order if it has not been delivered yet.
- Change Order – Allows editing of an active order (adding, removing, or replacing items).
- Review – Displays a complete list of all orders with customer information and order status.
- Language: C++
- Data Structure: Linked List
- Persistent File:
orders.csv - Data is loaded once at the beginning of the program and completely rewritten upon exit.
- Each order has a unique order number and one of the following statuses:
- 🟡 In Progress
- 🟢 Delivered
- 🔴 Canceled
Stores information about a single menu item, including its name, type (dish, drink, or appetizer), and price.
A linked list that holds multiple items, used both for menus and orders.
Represents the restaurant’s menu. It contains a title and an ItemList object that stores all menu items.
Holds student information including first name, last name, and student ID.
Represents a customer’s order and includes:
- A pointer to a
Studentobject - A pointer to an
ItemList(the ordered items) - The current order status (In Progress, Delivered, Canceled)
A linked list that stores all orders and provides operations for adding, searching, modifying, or removing them.
Manages all file operations. It reads data from orders.csv once at startup and rewrites everything back at shutdown.
- All orders are saved in
orders.csv. - Data is loaded into memory at program startup and fully rewritten at program exit to ensure all changes are stored.
Huge thanks to our amazing TAs for kindly extending the deadline — truly heroic work saving everyone in the final moments! 😄