PPS Mini Project Shubh Agarwal RA2311003010328 Vidushi Mishra RA2311003010338
PPS Mini Project Shubh Agarwal RA2311003010328 Vidushi Mishra RA2311003010338
Submitted by
SCHOOL OF COMPUTING
COLLEGE OF ENGINEERING AND TECHNOLOGY
SRM INSTITUTE OF SCIENCE AND TECHNOLOGY
(Under Section 3 of UGC Act, 1956)
S.R.M. NAGAR, KATTANKULATHUR – 603 203
CHENGALPATTU DISTRICT
November 2023
1 | Page
2 | Page
TABLE OF CONTENTS
4
1 Problem Statement
3 Flowchart 5
6-9
4 Coding (C/Python)
10
5 Modules of the proposed work
11
6 Results/Screenshots
12
7 Conclusion
12
8 Acknowledgement
12
9 References
3 | Page
1. Problem Statement
The problem addressed by the provided project code is to create a simple menu item taker system that allows
users to view a menu, place orders for food items with specified quantities, add new items to the menu, and
receive a notification when the order is ready.
Order Placement:
Enable users to place orders by selecting items from the menu.
For each selected item, users can specify the quantity they want to order.
Order Calculation:
Calculate the total cost of the order based on the selected items and quantities.
Order Notification
Notify users that their order is being prepared.
Introduce a delay of 3 seconds to simulate order preparation time.
Play a sound to further indicate that the order is ready.
User Interaction:
Allow users to interact with the system through a simple menu-driven interface.
Provide options to view the menu, place orders, add items to the menu, and exit the system.
4 | Page
3. Flow chart
5 | Page
4. Coding (C/Python)
import time
import pygame
def display_menu():
print("Menu:")
def order_food(order):
while True:
display_menu()
item_number = input("Enter the number of the item you want to order (0 to finish): "
if item_number == '0':
break
try:
item_number = int(item_number)
6 | Page
if 1 <= item_number <= len(menu):
item = list(menu.keys())[item_number - 1]
quantity = int(input(f"How many {item}s do you want to order? Enter quantity: "))
else:
except ValueError:
def calculate_total(order):
return total
def add_item_to_menu():
menu[new_item] = new_price
7 | Page
def notify_order_ready():
pygame.mixer.init()
pygame.mixer.music.play()
def main():
order = []
while True:
print("4. Exit")
8 | Page
if choice == '1':
display_menu()
order_food(order)
total = calculate_total(order)
notify_order_ready()
add_item_to_menu()
break
else:
if __name__ == "__main__":
main()
9 | Page
5. Modules of the proposed work
display_menu():
Displays the menu with item names and prices.
order_food(order):
Facilitates the ordering process by allowing users to select items and specify quantities.
Appends the selected items, their prices, and quantities to the order list.
calculate_total(order):
Calculates the total cost of the order based on the selected items and quantities.
add_item_to_menu():
Allows users to add new items to the menu with their respective prices.
notify_order_ready():
Notifies users that their order is being prepared.
Introduces a 3-second delay to simulate order preparation time.
Plays a sound to indicate that the order is ready.
main():
The main function orchestrating the overall flow of the program.
Accepts user input and directs the flow based on the chosen options.
10 | Page
6. Results/Screenshots
● CONTENT PAGE
11 | Page
7. Conclusion
The provided project code implements a simple menu item taker system with functionalities such as viewing
the menu, placing orders, adding items to the menu, and receiving notifications. The system uses a menu-
driven approach, allowing users to interact easily. The addition of a sound notification and a delay before
order readiness enhances the user experience. The code serves as a foundation for a basic restaurant order
management system and can be extended for more complex functionalities in future iterations.
8. Acknowledgement
After the completion of the project, the students went to the basics. They had a great experience
participating in the project.
9. References :
12 | Page