Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Redo Exercise 4 so that the customer can select multiple items of a particular type. A sample output in this case is: Welcome to Johnny's

Redo Exercise 4 so that the customer can select multiple items of a particular type. A sample output in this case 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 different selections Do you want to make selection Y/y (Yes), N/n (No): Y Enter item number: 1 How many orders: 3 Select another item Y/y (Yes), N/n (No): Y Enter item number: 8 How many orders: 1 Select another item Y/y (Yes), N/n (No): N Welcome to Johnny's Resturant 3 Plain Egg $4.35 1 Tea $0.75 Tax $0.26 Amount Due $5.35 

programming language is c++

code to redo is:

#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); void printCheck(menuItemType mList[], int listSize, int cList[], int cListLength); void makeSelection(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; return 1; }

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

return 0; }

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; }

void printCheck(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; }

void makeSelection(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; }

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored 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

Recommended Textbook for

Transactions On Large Scale Data And Knowledge Centered Systems X Special Issue On Database And Expert Systems Applications Lncs 8220

Authors: Abdelkader Hameurlain ,Josef Kung ,Roland Wagner ,Stephen W. Liddle ,Klaus-Dieter Schewe ,Xiaofang Zhou

2013th Edition

3642412203, 978-3642412202

More Books

Students also viewed these Databases questions