Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Problem1 multiple files in one workspace: revise Problem 2 of lab 8 (breakfast b

ID: 3686298 • Letter: P

Question

Problem1 multiple files in one workspace: revise Problem 2 of lab 8 (breakfast billing system).

Modify your program to create 3 C++ program files which together will make up one program

1) A .cpp file (give a name yourself) containing your main program

2) A .h file (named menu.h) containing all of your function declarations and new data type definition and global variables

3) A .cpp file (named menu.cpp) containing all of your function definitions (getData, showMenu and printCheck)

In order to compile the program in this new form be sure to add the include guard #ifndef, #define, and endif statements to your h file. Add the correct #include “...” statement at the beginning of cpp file.

Verify that the program still compiles in this new form.

Rewrite your program to implement the same jobs.

The following is the description of problem 2 of lab 8:

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):

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 the struct menuItemType, with three components: menuItem of string, menuPrice of type double, and Count of type int. Your program must contain at least the following functions:

Function getData: This function loads the data from a file named menu.txt with the above breakfast items 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 Restaurant

Bacon and Egg             1          $2.45

Muffin                         1          $0.99

Coffee                          2          $1.00

Amount Total                          $4.44

Tax                                          $0.22

Amount Due                            $4.66

Explanation / Answer

#include <iostream.h>
#include <iomanip.h>
#include <vector.h>
#include <string.h>
struct menuItemType
{
string menuItem;
double menuPrice;
};
void getData(menuItemType menuList[]);
void showMenu(menuItemType menuList[], int x);
void printCheck(menuItemType menuList[], int menuOrder[], int x);
int main()
{
const int menuItems = 8;
menuItemType menuList[menuItems];
int menuOrder[menuItems] = {0};
int orderChoice = 0;
bool ordering = true;
int count = 0;
getData(menuList);
showMenu(menuList, menuItems);
while(ordering)
{
cout << "Please enter the number for the item you would "<< endl;
cin >> orderChoice;
if (orderChoice > 0 && orderChoice <= menuItems)
{
menuOrder[orderChoice - 1] += 1;
}
else
ordering = false;
}
printCheck(menuList, menuOrder, menuItems);
cin.ignore(2);
return 0;
}
void getData(menuItemType menuList[])
{
menuItemType plainEgg;
menuItemType baconEgg;
menuItemType muffin;
menuItemType frenchToast;
menuItemType fruitBasket;
menuItemType cereal;
menuItemType coffee;
menuItemType tea;
plainEgg.menuItem = "Plain Egg";
plainEgg.menuPrice = 1.45;
baconEgg.menuItem = "Bacon and Egg";
baconEgg.menuPrice = 2.45;
muffin.menuItem = "Muffin";
muffin.menuPrice = 0.99;
frenchToast.menuItem = "French Toast";
frenchToast.menuPrice = 1.99;
fruitBasket.menuItem = "Fruit Basket";
fruitBasket.menuPrice = 2.49;
cereal.menuItem = "Cereal";
cereal.menuPrice = 0.69;
coffee.menuItem = "Coffee";
coffee.menuPrice = 0.50;
tea.menuItem = "Tea";
tea.menuPrice = 0.75;
menuList[0] = plainEgg;
menuList[1] = baconEgg;
menuList[2] = muffin;
menuList[3] = frenchToast;
menuList[4] = fruitBasket;
menuList[5] = cereal;
menuList[6] = coffee;
menuList[7] = tea;
}
void showMenu(menuItemType menuList[], int x)
{
int count;
cout << "Welcome to sairam parlor" << endl;
cout << "What would you to order?" << endl;
for(count = 0; count < x; count++)
{
cout << setw(2) << left << "[" << count + 1 << "]"
<< menuList[count].menuItem << '$'
<< menuList[count].menuPrice << endl;
}
}
void printCheck(menuItemType menuList[], int menuOrder[], int menuItems)
{
double checkTotal = 0;
double checkTax = 0;
const double TAX = .05;
cout << "Thanks for eating at sairam parlor"
<< "Customer check: " << endl;
for(int i = 0; i < menuItems; i++)
{
if(menuOrder[i] > 0)
{
cout << setprecision(3) << setw(10) << left << menuList[i].menuItem
<< '$' << (menuList[i].menuPrice * menuOrder[i]) << endl;
checkTotal += (menuList[i].menuPrice * menuOrder[i]);
}
}
checkTax = checkTotal * TAX;
checkTotal += checkTax;
cout << setw(14) << left << "Tax" << checkTax << endl
<< setw(14) << left << "Total" << checkTotal << endl;
}

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote