help with coffee shop program?

Hi all,

I have to create a coffee shop program where you can:

• Buy coffee in any size and in any number of cups.
• At any time show the total number of cups of each size sold.
• At any time show the total amount of coffee sold.
• At any time show the total money made.


So far my code works fine. However, I can only view total cups sold/total money made etc for ONE transaction. I need to add a loop or something that allows the program to calculate the totals if there were multiple transactions.

Meaning if I ordered 2 small coffees, then selected yes to run the program again, and ordered 2 mediums, it should output 2 small and 2 medium sold, and give me a total money made of $11.30.

I know I probably have to include a loop, but I'm not sure where to put it and how I should go about it.

Can anyone give me any suggestions? thank you
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
  //Lab 8a
//A program that allows you to buy coffee, and at any time you can view total number of cups of each size sold, total amount of coffee sold, and total money made. 

#include <iostream>
#include <iomanip>

using namespace std;

const double smallcost = 1.75;
const double mediumcost = 1.90;
const double largecost = 2.00;
char choice;
void tutorial(int & small, int & totalSmall, int & medium, int & totalMedium, int & large, int & totalLarge);
void sales(int & small, int & totalSmall, int & medium, int & totalMedium, int & large, int & totalLarge);
void sizesSold(int & small, int & totalSmall, int & medium, int & totalMedium, int & large, int & totalLarge);
void totalCupsSold(int & small, int & totalSmall, int & medium, int & totalMedium, int & large, int & totalLarge);
void totalSales(int & small, int & totalSmall, int & medium, int & totalMedium, int & large, int & totalLarge);


int main()
{
	int small;
	int medium;
	int large;
	int totalSmall;
	int totalMedium;
	int totalLarge;
	char runagain;
	do {
		tutorial(small, totalSmall, medium, totalMedium, large, totalLarge);

		cout << "Do you want to run this program again? Enter Y for yes and N for no: " << endl;
		cin >> runagain;

	} while (runagain == 'y' || runagain == 'Y');



}
void initialize(int & small, int & medium, int & large)
{
	small = 0;
	medium = 0;
	large = 0;

}
void tutorial(int & small, int & totalSmall, int & medium, int & totalMedium, int & large, int & totalLarge)
{
	cout << "Please select which option you would like." << endl;
	cout << "1. Buy Coffee" << endl;
	cout << "2. Display the cups of coffee of each size sold" << endl;
	cout << "3. Display the total cups of coffee sold" << endl;
	cout << "4. Display the total amount of money earned" << endl;
	cin >> choice;

	switch (choice)
	{
	case '1':
		sales(small, totalSmall, medium, totalMedium, large, totalLarge);
		break;
	case '2':
		sizesSold(small, totalSmall, medium, totalMedium, large, totalLarge);
		break;
	case '3':
		totalCupsSold(small, totalSmall, medium, totalMedium, large, totalLarge);
		break;
	case '4':
		totalSales(small, totalSmall, medium, totalMedium, large, totalLarge);
		break;
	default:
		cout << "Invalid number selection. Please select a number between 1 and 4." << endl;
	}

}
void sales(int & small, int & totalSmall, int & medium, int & totalMedium, int & large, int & totalLarge)
{
	initialize(small, medium, large);

	totalSmall = small;
	totalMedium = medium;
	totalLarge = large;

	cout << "Please read the menu, and select the number \nof each size of coffee that you would like to \npurchase.  If you would not like to purchase a certain \nsize of coffee, please enter '0'." << endl << endl;
	cout << "Small Cup........................ $" << showpoint << setprecision(3) << smallcost << endl;
	cout << "Medium Cup....................... $" << showpoint << setprecision(3) << mediumcost << endl;
	cout << "Large Cup........................ $" << showpoint << setprecision(3) << largecost << endl;
	cout << "Please enter the number of small cups you would like to purchase: ";
	cin >> small;
	cout << endl;
	cout << "Please enter the number of medium cups you would like to purchase: ";
	cin >> medium;
	cout << endl;
	cout << "Please enter the number of large cups you would like to purchase: ";
	cin >> large;
	cout << endl;
}
void sizesSold(int & small, int & totalSmall, int & medium, int & totalMedium, int & large, int & totalLarge)
{

	totalSmall = small;
	totalMedium = medium;
	totalLarge = large;

	cout << "Number of small cups of coffee sold: " << totalSmall << endl;
	cout << "Number of medium cups of coffee sold: " << totalMedium << endl;
	cout << "Number of large cups of coffee sold: " << totalLarge << endl;
}
void totalCupsSold(int & small, int & totalSmall, int & medium, int & totalMedium, int & large, int & totalLarge)
{
	totalSmall = small;
	totalMedium = medium;
	totalLarge = large;

	int totalCoffeeSold = totalSmall + totalMedium + totalLarge;
	cout << "The total number of coffee cups sold is: " << totalCoffeeSold << endl;
}
void totalSales(int & small, int & totalSmall, int & medium, int & totalMedium, int & large, int & totalLarge)
{
	totalSmall = small;
	totalMedium = medium;
	totalLarge = large;
	double moneyMade = (smallcost * totalSmall) + (mediumcost * totalMedium) + (largecost * totalLarge);
	cout << "Total Sales are: " << showpoint << moneyMade << endl;
}
Last edited on
Topic archived. No new replies allowed.