Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

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 9th,2024
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 problem-solving 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.
CISP301: Prof. Bardewa Spring 2024
----------------------------------
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 High-Level:
Home Menu:
a. Display a welcome message
b. Provide "Manager" and "Customer" options, along with an "Exit" application
feature.
N*2**********
Welcome to Cafe Kiosk. Start by selecting the option below: A/B/C
******
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 30 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; 10.99; 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 2023
password: $123
****
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 7%.
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 $x 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;7.99; Juicy beef patty, cheddar, lettuce, tomato, on a sesame bun.
Credentials.txt: item is separated by semicolon (
username; password
For Example: henry201;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
I/O, 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
---------------------------------
image text in transcribed

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access with AI-Powered Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Students also viewed these Databases questions