Question: Caf Kiosk Console Application Project Due Date: May 9 t h , 2 0 2 4 Overview: Source: amazon.com This final project is the culmination
Caf Kiosk Console Application Project
Due Date: May
Overview:
Source:
amazon.com
This final project is the culmination of the concepts and techniques learned throughout the semester. You will design and deyelopment a Caf Kiosk Console Application in C The application will simulate the interaction between customers and a kiosk at a caf from selecting items from a menu to placing orders. Your work will demonstrate proficiency in algorithm design, code development, program testing, and problemsolving skills.
As part of the project deployment, you will be required to share the final report, the application source code, and a video showcasing your work.
CISP: Prof. Bardewa Spring
Program Functionality:
The console application operates in two modes: Manager and Customer.
Manager Mode: An authenticated manager can view and edit the caf menu, as well as
toggle Maintenance Mode, which locks or unlocks the kiosk functionality.
Customer Mode: Customers can view the menu, place orders, and choose to proceed
with payment or cancel.
Program HighLevel:
Home Menu:
a Display a welcome message
b Provide "Manager" and "Customer" options, along with an "Exit" application
feature.
N
Welcome to Cafe Kiosk. Start by selecting the option below: ABC
A Manager
B Customer
C Exit
Enter your choice:
Manager Mode:
a Authenticate with a username and password from the admin credentials file:
"credentials.txt
b If authentication fails, return to the "Home Menu" menu.
c On successful login present Manager Mode Options:
A Display all Menu: Show items from "menu.txt file.
B Maintenance Mode: Toggle between active and maintenance states.
C Add Menu Item: Add new dishes to 'menu.txt ensuring that the total
menu items do not exceed items, as this is the maximum capacity of
the Kiosk. When you store a menu item to the menu.txt file, use the
following format separated by semicolon
category;item;price;description
For example: Taco; Burrito; ; a tortilla filled with food
D Go Back: Return to the "Home" menu.
A Manager
B Customer
C Exit
Enter your choice: A
Please enter your credentials to login as a manager.
username: sam
password: $
A Display All Menu
B Maintenance Mode
C Add Menu Item
D Go Back Main Menu
Enter your choice:
Customer Mode:
a If in Maintenance Mode, display an error message:
"The kiosk is currently undergoing repairs. We are unable to take any orders at
this time. We apologize for the inconvenience."
b If not in a maintenance mode, provide options to:
A Display all Menu: Show the menu from "menu.txt
B Place Order: Select dishes and show the final bill with taxes.
Add another item: Allows to add item to the cart
Cancel: Cancel the order and go back to "Home Menu"
Done: Show the final total price.
The total price should include a tax of
Show the following message after user finalizes the order, and
return "Home Menu".
"Your order has been taken. Please proceed to the register to pay $ and
collect your food. Thank you, and please visit again." $x is the total
order price
C Go Back: Return to the "Home" menu.
Fig: Complete placing the order
Other Application Requirements:
Data Storage: Menu items and user credentials are to be stored in the provided files. Use
the provided 'menu.txt for menu items and 'credentials.txt for credentials. Note that the
file data is separated by semicolons ;
Menu.txt : item is separated by semicolon ;as follows
category;item;price;description
For example: grill;burger;; Juicy beef patty, cheddar, lettuce, tomato, on a sesame bun.
Credentials.txt: item is separated by semicolon
username; password
For Example: henry;pa$$worD
Programming Structures: You will be able to do the design and development entirely
by the C concepts learned in the class. Also, you already have a basis to use the
concepts from your labs and assignments.
Utilize only the C concepts that were learned in this class, such as arrays, loops, file
IO and basic data types. Avoid complex structures such as "structs," "vector," and
"classes. Your points will be deducted if you copy solutions from the internet.
Modularity: Your program should be divided into functions, with minimal use of global
variables.
Originality: You may use code from previous labs and assignments, provided it is your
own work.
Plagiarism Detection: Submissions will be checked for originality.
Project Deliverables:
Engineering Journal: A chronological record of the development process with
timestamps preferably typed Use tools like Word and OneNote for journaling.
Software Design: Include your algorithm and flowchart Pseudocode is not
Step by Step Solution
There are 3 Steps involved in it
1 Expert Approved Answer
Step: 1 Unlock
Question Has Been Solved by an Expert!
Get step-by-step solutions from verified subject matter experts
Step: 2 Unlock
Step: 3 Unlock
