Write a program to help a local restaurant automate its breakfast billing system. The program should do the following: Show the customer the different breakfast items offered by the restaurant. Allow the customer to select more than one item from the menu. Calculate and print the bill. Assume that the restaurant offers the following breakfast items (the price of each item is shown to the right of the item): food Price Plain Egg $1.45 Bacon and Egg $2.45 Muffin $0.99 French Toast $1.99 Fruit Basket $2.49 Cereal $0.69 Coffee $0.50 Tea $0.75 Use an array menuList of type menuItemType, as defined in Programming Exercise 3. Your program must contain at least the following functions: Function getData: This function loads the data into the array menuList. Function showMenu: This function shows the different items offered by the restaurant and tells the user how to select the items. Function printCheck: This function calculates and prints the check. (Note that the billing amount should include a 5% tax.) A sample output is: Welcome to Johnny's Resturant ----Today's Menu---- 1: Plain Egg $1.45 2: Bacon and Egg $2.45 3: Muffin $0.99 4: French Toast $1.99 5: Fruit Basket $2.49 6: Cereal $0.69 7: Coffee $0.50 8: Tea $0.75 You can make up to 8 single order selections Do you want to make selection Y/y (Yes), N/n (No): Y Enter item number: 1 Select another item Y/y (Yes), N/n (No): Y Enter item number: 2 Select another item Y/y (Yes), N/n (No): N Welcome to Johnny's Resturant Plain Egg $1.45 Bacon and Egg $2.45 Tax $0.20 Amount Due $4.10 Format your output with two decimal places. The name of each item in the output must be left justified. You may assume that the user selects only one item of a particular type. Here is my program but i need it to be able to select multple items instead of just one: #include #include #include #include using namespace std; const int NO_OF_ITEMS = 8; struct menuItemType { string menuItem; double menuPrice; }; void getData(ifstream& inFile, menuItemType mList[], int listSize); void showMenu(menuItemType mList[], int listSize); voidprintCheck(menuItemType mList[],int listSize, int cList[],int cListLength); voidmakeSelection(int listSize, int cList[],int& cListLength); bool isItemSelected(int cList[], int cListLength, int itemNo); int main() { menuItemType menuList[NO_OF_ITEMS]; int choiceList[NO_OF_ITEMS]; int choiceListLength; ifstream inFile; cout << fixed << showpoint << setprecision(2); inFile.open("Ch9_Ex4Data.txt"); if (!inFile) { cout << "Cannot open the input file. Program Terminates!" << endl; return1; } getData(inFile, menuList, NO_OF_ITEMS); showMenu(menuList, NO_OF_ITEMS); makeSelection(NO_OF_ITEMS, choiceList, choiceListLength); printCheck(menuList, NO_OF_ITEMS, choiceList, choiceListLength); return0; } void getData(ifstream& inFile, menuItemType mList[], int listSize) { char ch; for (int i =0; i < listSize; i++) { getline(inFile, mList[i].menuItem); inFile >> mList[i].menuPrice; inFile.get(ch); } } void showMenu(menuItemType mList[], int listSize) { cout << "Welcome to Johnny's Resturant" << endl; cout << "----Today's Menu----" << endl; for (int i =0; i < listSize; i++) cout << i+1 << ": " << left << setw(15) << mList[i].menuItem << right <<" $"<< mList[i].menuPrice << endl; cout << endl; } voidprintCheck(menuItemType mList[],int listSize, int cList[],int cListLength) { int i; double salesTax; double amountDue =0; cout << "Welcome to Johnny's Resturant" << endl; for (i =0; i < cListLength; i++) { cout << left << setw(15) << mList[cList[i]].menuItem << right <<" $"<> response; cout << endl; while ((response =='Y'|| response =='y') && cListLength < 8) { cout << "Enter item number: "; cin >> itemNo; cout << endl; if (!isItemSelected(cList,cListLength,itemNo)) cList[cListLength++] = itemNo - 1; else cout << "Item already selected" << endl; cout << "Select another item Y/y (Yes), N/n (No): "; cin >> response; cout << endl; } } bool isItemSelected(int cList[], int cListLength, int itemNo) { bool found =false; for (int i =0; i < cListLength; i++) if (cList[i] == itemNo) { found = true; break; } return found; }

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

Write a program to help a local restaurant automate its breakfast billing system. The program should do the following:

  1. Show the customer the different breakfast items offered by the restaurant.
  2. Allow the customer to select more than one item from the menu.
  3. Calculate and print the bill.

Assume that the restaurant offers the following breakfast items (the price of each item is shown to the right of the item):

food Price
Plain Egg $1.45
Bacon and Egg $2.45
Muffin $0.99
French Toast $1.99
Fruit Basket $2.49
Cereal $0.69
Coffee $0.50
Tea $0.75

Use an array menuList of type menuItemType, as defined in Programming Exercise 3. Your program must contain at least the following functions:

  • Function getData: This function loads the data into the array menuList.
  • Function showMenu: This function shows the different items offered by the restaurant and tells the user how to select the items.
  • Function printCheck: This function calculates and prints the check. (Note that the billing amount should include a 5% tax.)

A sample output is:

Welcome to Johnny's Resturant ----Today's Menu---- 1: Plain Egg $1.45 2: Bacon and Egg $2.45 3: Muffin $0.99 4: French Toast $1.99 5: Fruit Basket $2.49 6: Cereal $0.69 7: Coffee $0.50 8: Tea $0.75 You can make up to 8 single order selections Do you want to make selection Y/y (Yes), N/n (No): Y Enter item number: 1 Select another item Y/y (Yes), N/n (No): Y Enter item number: 2 Select another item Y/y (Yes), N/n (No): N Welcome to Johnny's Resturant Plain Egg $1.45 Bacon and Egg $2.45 Tax $0.20 Amount Due $4.10

Format your output with two decimal places. The name of each item in the output must be left justified. You may assume that the user selects only one item of a particular type.

Here is my program but i need it to be able to select multple items instead of just one:

#include <iostream>
#include <fstream>
#include <iomanip>
#include <string>

using namespace std;

const int NO_OF_ITEMS = 8;

struct menuItemType
{
string menuItem;
double menuPrice;
};

void getData(ifstream& inFile, menuItemType mList[], int listSize);
void showMenu(menuItemType mList[], int listSize);
voidprintCheck(menuItemType mList[],int listSize,
int cList[],int cListLength);
voidmakeSelection(int listSize,
int cList[],int& cListLength);
bool isItemSelected(int cList[], int cListLength, int itemNo);

int main()
{
menuItemType menuList[NO_OF_ITEMS];
int choiceList[NO_OF_ITEMS];
int choiceListLength;

ifstream inFile;

cout << fixed << showpoint << setprecision(2);

inFile.open("Ch9_Ex4Data.txt");

if (!inFile)
{
cout << "Cannot open the input file. Program Terminates!"
<< endl;
return1;
}

getData(inFile, menuList, NO_OF_ITEMS);
showMenu(menuList, NO_OF_ITEMS);
makeSelection(NO_OF_ITEMS,
choiceList, choiceListLength);
printCheck(menuList, NO_OF_ITEMS,
choiceList, choiceListLength);

return0;
}

void getData(ifstream& inFile, menuItemType mList[], int listSize)
{
char ch;
for (int i =0; i < listSize; i++)
{
getline(inFile, mList[i].menuItem);
inFile >> mList[i].menuPrice;
inFile.get(ch);
}
}

void showMenu(menuItemType mList[], int listSize)
{
cout << "Welcome to Johnny's Resturant" << endl;
cout << "----Today's Menu----" << endl;

for (int i =0; i < listSize; i++)
cout << i+1 << ": " << left << setw(15) << mList[i].menuItem
<< right <<" $"<< mList[i].menuPrice << endl;
cout << endl;
}

voidprintCheck(menuItemType mList[],int listSize,
int cList[],int cListLength)
{
int i;
double salesTax;
double amountDue =0;

cout << "Welcome to Johnny's Resturant" << endl;
for (i =0; i < cListLength; i++)
{
cout << left << setw(15) << mList[cList[i]].menuItem
<< right <<" $"<<setw(4) << mList[cList[i]].menuPrice << endl;
amountDue += mList[cList[i]].menuPrice;
}

salesTax = amountDue * .05;
cout << left <<setw(15) <<"Tax "<< right <<" $"
<< salesTax << endl;
amountDue = amountDue + salesTax;
cout << left << setw(15) << "Amount Due " << right
<<" $"<< amountDue << endl;
}

voidmakeSelection(int listSize,
int cList[],int& cListLength)
{
int selectionNo =0;
int itemNo;

char response;

cListLength = 0;

cout << "You can make up to " << listSize
<<" single order selections"<< endl;

cout << "Do you want to make selection Y/y (Yes), N/n (No): ";
cin >> response;
cout << endl;

while ((response =='Y'|| response =='y') &&
cListLength < 8)
{
cout << "Enter item number: ";
cin >> itemNo;
cout << endl;

if (!isItemSelected(cList,cListLength,itemNo))
cList[cListLength++] = itemNo - 1;
else
cout << "Item already selected" << endl;

cout << "Select another item Y/y (Yes), N/n (No): ";
cin >> response;
cout << endl;
}
}

bool isItemSelected(int cList[], int cListLength, int itemNo)
{
bool found =false;

for (int i =0; i < cListLength; i++)
if (cList[i] == itemNo)
{
found = true;
break;
}

return found;
}



 

Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 3 steps with 1 images

Blurred answer
Knowledge Booster
Random Class and its operations
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education