Need help with program.

I cant figure this out, it just keeps looping back after i give the answer to the first question.

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
  #include <iostream>
#include <cctype>
#include <string>
#include <iomanip>
#include <cmath>
//ADD OTHER INCLUDE FILES HERE

using namespace std;

int main()
{
	//VARIABLE DEFINITIONS
	char choice, A, B, C;
	double tax = .0975, price, taxAmount, total, totalSize;
	int spongeCake, quantity, size, buttercream, fondant;

	const int increment = 2;

	
	string line(80, '-');
	
	do
	{		
		cout << "\t\t\tCAKE BOSS\n" << endl;
		cout << "What would you like to do, Buddy?\n" << endl;
				
		cout << "A - SELL A CAKE\n";
		cout << "B - MAKE A CAKE\n";
		cout << "C - END PROGRAM\n";
		cout << "CHOOSE A, B, or C:   " << endl;
		cin >> choice;
	
		while (choice == C || choice == B || choice == A)
		{ 
			cout << "Invalid. Please enter A valid selection, either A, B, or C.\n";
			cout << "Press enter to continue and try again.\n";
			cin >> choice;
		}
		
		switch (choice)
		{
	//SELL A CAKE
			case 1: 
				choice == A;
				cout << line << endl;
				cout << setw(44) << "SELL CAKE" << endl << endl;
				cout << "How many cakes have you sold?\n" << endl;
				cin >> quantity;
				cout << "What is the price of one cake?\n" << endl;
				cin >> price;
				total = quantity * price;
				taxAmount = total * tax;
				
				cout << setprecision (3) << fixed << endl;
				cout << setw(15) << "TOTAL" << "\t$" << setw(10) << total << endl;
				cout << setw(15) << "TAX AMOUNT" << "\t$" << setw(10) << taxAmount << endl;
				cout << setw(15) << "TAX" << "\t$" << setw(10) << tax << endl;
				break;
	// Make A Cake		
			case 2:
				choice == B;
				cout << line << endl;
				cout << setw(44) << "MAKE CAKE";
				cout << "How large is the largest cake in inches?\n";
				cout << "Must be an even number larger than 8.";
				cin >> size;
				while ( size % 2 == 0 )
				{
					cout << "Please enter an even number greater than 8\n";
					cin >> size;
				}
				fondant = (size + 8) * 2;
				buttercream = size / 8;
				cout << line << endl;
				cout << setprecision(2) << fixed << endl;
				for (size = 1; size <= 100; size += 2)
				{
					cout << size << endl;
					cout << "PRESS ENTER TO CONTINUE" << endl;
				}
			break;
			
		default :
			cout << "INVALID INPUT. Please enter A, B, or C." << endl;
		}		
		
	} while (choice != C);
	
	return 0;
}
1
2
3
4
5
6
		while (choice != 'C' && choice != 'B' && choice != 'A')
		{
			cout << "Invalid. Please enter A valid selection, either A, B, or C.\n";
			cout << "Press enter to continue and try again.\n";
			cin >> choice;
		}


your case lables should look like this case 'A':


Line 87 while (choice != C); need single quotes while (choice != 'C');

you also might want to add choice = toupper(choice); somewhere so that the user doesn't have to worry about the upper and lower case
Last edited on
I made those changes but its still staying in the first loop.


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
#include <iostream>
#include <cctype>
#include <string>
#include <iomanip>
#include <cmath>
//ADD OTHER INCLUDE FILES HERE

using namespace std;

int main()
{
	//VARIABLE DEFINITIONS
	char choice, A, B, C;
	double tax = .0975, price, taxAmount, total, totalSize;
	int spongeCake, quantity, size, buttercream, fondant;

	const int increment = 2;

	
	string line(80, '-');
	
	do
	{		
		cout << "\t\t\tCAKE BOSS\n" << endl;
		cout << "What would you like to do, Buddy?\n" << endl;
				
		cout << "A - SELL A CAKE\n";
		cout << "B - MAKE A CAKE\n";
		cout << "C - END PROGRAM\n";
		cout << "CHOOSE A, B, or C:   " << endl;
		cin >> choice;
		
		choice = toupper(choice);
		
		while (choice != 'C' && choice != 'B' && choice != 'A')
		{
			cout << "Invalid. Please enter A valid selection, either A, B, or C.\n";
			cout << "Press enter to continue and try again.\n";
			cin >> choice;
		}

		
		
		
		switch (choice)
		{
	//SELL A CAKE
			case 1: 
				choice == A;
				cout << line << endl;
				cout << setw(44) << "SELL CAKE" << endl << endl;
				cout << "How many cakes have you sold?\n" << endl;
				cin >> quantity;
				cout << "What is the price of one cake?\n" << endl;
				cin >> price;
				total = quantity * price;
				taxAmount = total * tax;
				
				cout << setprecision (3) << fixed << endl;
				cout << setw(15) << "TOTAL" << "\t$" << setw(10) << total << endl;
				cout << setw(15) << "TAX AMOUNT" << "\t$" << setw(10) << taxAmount << endl;
				cout << setw(15) << "TAX" << "\t$" << setw(10) << tax << endl;
				break;
	// Make A Cake		
			case 2:
				choice == B;
				cout << line << endl;
				cout << setw(44) << "MAKE CAKE";
				cout << "How large is the largest cake in inches?\n";
				cout << "Must be an even number larger than 8.";
				cin >> size;
				while ( size % 2 == 0 )
				{
					cout << "Please enter an even number greater than 8\n";
					cin >> size;
				}
				fondant = (size + 8) * 2;
				buttercream = size / 8;
				cout << line << endl;
				cout << setprecision(2) << fixed << endl;
				for (size = 1; size <= 100; size += 2)
				{
					cout << size << endl;
					cout << "PRESS ENTER TO CONTINUE" << endl;
				}
			break;
			
		default :
			cout << "INVALID INPUT. Please enter A, B, or C." << endl;
		}		
		
	} while (choice != 'C');
	
	return 0;
}
Wait wait wait i got it didn't see one of the things you told me to fix, Thank you so very much your a life saver!
Topic archived. No new replies allowed.