Question
Redo Exercise 4 so that the customer can select multiple items of a particular type. A sample output in this case is: C++ Welcome to
Redo Exercise 4 so that the customer can select multiple items of a particular type. A sample output in this case is:
C++
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
_________________________________________
FROM THE CODE:
#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; }
_________________________
Given a txt doc named
"Ch9_Ex5Data.txt"
with the following below in the text doc
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
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started