If statement problem

my code is like a cash register and it adds up purchased items then prints a receipt. When I execute my program, the prices do not seem to display nor add up on the receipt. Is it because my priceA, priceB, etc. and the calculations of the prices are inside if statements? How can I get the value of the variable from inside of the if statement, to outside of it?

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
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
 #include "stdafx.h"
#include <iostream>
#include <stdio.h>



int main ()
{
	using namespace std;


  cout << "Welcome to SM Supermarket!\n";
  int code = 0;

  string product[10];
  product[0] = "Hagen Daaz";
  product[1] = "Bounty Tissue";
  product[2] = "Chips Ahoy Cookies";
  product[3] = "Tide Laundry Detergent";
  product[4] = "Lays Original Chips";
  product[5] = "Sunny D Orange Juice";
  product[6] = "Organic Bananas";
  product[7] = "Oreo Cookies";
  product[8] = "Red Delicious Apples";
  product[9] = "Extra Cheesy Kraft Dinner";

   int priceA = 0, priceB = 0, priceC = 0, priceD = 0, priceE = 0, priceF = 0, priceG = 0, priceH = 0, priceI = 0, priceJ = 0;
  
 // while (code != 000){
  cout << "Please enter the barcode of your item\n";

  
  cin >> code;

  int amount = 0;
  cout << "How many do you want to purchase?\n";

  
  cin >> amount;

  

	  if (code == 0123){
	  priceA = 7 * amount;
     printf("%s\n",product[0].c_str());
	  }

  else if (code == 0124){
	  priceB = 10 * amount;
  printf("%s\n",product[1].c_str());
  }
  
  else if (code == 0125){
	  priceC = 3 * amount;
  printf("%s\n",product[2].c_str());
  }

  else if (code == 0126){
	  priceD = 6 * amount;
  printf("%s\n",product[3].c_str());
  }
  
  else if (code == 0127){
	  priceE = 2 * amount;
  printf("%s\n",product[4].c_str());
  }
  
  else if (code == 0133){
	  priceF = 3 * amount;
  printf("%s\n",product[5].c_str());
  }

  else if (code == 0134){
	  priceG = 5 * amount;
  printf("%s\n",product[6].c_str());
  }
  
  else if (code == 0130){
	 priceH = 2 * amount;
  printf("%s\n",product[7].c_str());
  }

  else if (code == 0131){
	  priceI = 3 * amount;
  printf("%s\n",product[8].c_str());
  }

  else if (code == 0132){
	 priceJ = 4 * amount;
  printf("%s\n",product[9].c_str());
  }
  //} 
  
  int coupon = 0;
  //while (coupon != 000){
	  cout << "Please enter your coupon code, if you do not have any, please press '0'. Press '000' when finished entering coupon(s)\n";

  
  
  cin >> coupon;

  if (coupon == 051){
	  cout << "50% discount of 'Bounty Tissue'\n";
	  
	   priceB = priceB / 2;
  }
  else if (coupon == 017){
	  cout << "$2 off any Hagen Daaz product\n";

	   priceA = priceA - 2;
  }
  else if (coupon == 046){
	  cout << "$1 off two Lays original Chips\n";

	   priceE = priceE * 2 - 1;
  }
  else if (coupon == 035){
	  cout << "$1 off any Sunny D product\n";

	  priceF = priceF - 1;
  }
  
  else if (coupon == 0){
	  cout << "Your purchase is being processed\n";
  }
  //}
  
  
  int bags = 0; 
  cout << "How many bags would you like to purchase(1 bag/$1 each)?\n";

  cin >> bags;

  bags = bags * 1;


  int subtotal = priceA + priceB + priceC + priceD + priceE + priceF + priceG + priceH + priceI + priceJ + bags;
  cout << "Subtotal:\n\n " << subtotal;
  double total = subtotal * 1.1;
  cout << "Total:\n\n " << total;

  int payment = 0;
  int pin = 0;
  double change = 0;
  double cash = 0;

  cout << "Would you like to pay with debit or cash? Press '1' for debit and '2' for cash\n";

  cin >> payment;
  
 
	  if (payment == 1){
		  cout << "Enter your pin number: ";
		  cin >> pin;
		  cout << "Approved. Your purchase is processing...\n";
	  }
	  else if (payment == 2){
		  cout << "Please enter the amount you are paying with:\n";
		  cin >> cash;
		  change = cash - total;
	  }

  cout << "Thank you for your purchase. Your reciept is printing...\n";
  cout << "<<<<<<<<<<<<<<<<<<<<<SM Supermarket>>>>>>>>>>>>>>>>>>>>>\n";
  cout << " Cashier: Samantha & Madeleine\n";
  cout << "\n";
  cout << "\n";
  cout << "--------------------------------------------------------\n";
  printf("%s\n",product[0].c_str());
  cout << "$" << priceA << "\n";
  printf("%s\n",product[1].c_str());
  cout << "$" << priceB << "\n";
  printf("%s\n",product[2].c_str());
  cout << "$" << priceC << "\n";
  printf("%s\n",product[3].c_str());
  cout << "$" << priceD << "\n";
  printf("%s\n",product[4].c_str());
  cout << "$" << priceE << "\n";
  printf("%s\n",product[5].c_str());
  cout << "$" << priceF << "\n";
  printf("%s\n",product[6].c_str());
  cout << "$" << priceG << "\n";
  printf("%s\n",product[7].c_str());
  cout << "$" << priceH << "\n" ;
  printf("%s\n",product[8].c_str());
  cout << "$" << priceI << "\n";
  printf("%s\n",product[9].c_str());
  cout << "$" << priceJ << "\n";
  cout << "\n";
  cout << "Bags";
  cout << "$" << bags;
  cout << "\n";
  cout << "-----------------";
  cout << "Subtotal: " << subtotal << "\n";
  cout << "Total: " << total << "\n";
  cout << "Amount Given: " << cash << "\n";
  cout << "Change: " << change << "\n";
  cout << "-----------------";
  cout << "Thanks for shopping at SM Supermarket!";
  cout << "***************************************";
  cout << "Please press '1' to exit. Have a nice day!";
  int exit = 0;
  cin >> exit;
  }
Is it because my priceA, priceB, etc. and the calculations of the prices are inside if statements?

Yes.

How can I get the value of the variable from inside of the if statement, to outside of it?


Assign your prices up front.
1
2
const int priceA = 7, priceB = 10, priceC = 3, priceD = 5, priceE = 2, priceF = 3, priceG = 5, priceH = 2, priceI = 3, priceJ = 4;
int price = 0;

Then in your if statements:
1
2
3
4
5
    if (code == 0123)
   {    price = priceA * amount;
         printf("%s\n",product[0].c_str());
    }
    //  etc for other bar codes  


Hint #1: Your prices would make more sense as an array like your product names.
Hint #2: Use a switch statement for your bar codes and your coupons.
Hint #3: You probably want to keep track of how many of each item someone purchases. Again, use an array to keep track of the quantities.
Hint #4: You probably only want to print the products someone purchased, rather than every product name.







@AbstractionAnon
I've made the changes you suggested however, when I execute the program, the proper total of the items purchased displays 0 as well as the sub total. Can you please assist me in fixing this. Thanks for all the help!

UPDATED CODE
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
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
#include "stdafx.h"
#include <iostream>
#include <stdio.h>



int main ()
{
	using namespace std;


  cout << "Welcome to SM Supermarket!\n";
  int code = 0;

  string product[10];
  product[0] = "Hagen Daaz";
  product[1] = "Bounty Tissue";
  product[2] = "Chips Ahoy Cookies";
  product[3] = "Tide Laundry Detergent";
  product[4] = "Lays Original Chips";
  product[5] = "Sunny D Orange Juice";
  product[6] = "Organic Bananas";
  product[7] = "Oreo Cookies";
  product[8] = "Red Delicious Apples";
  product[9] = "Extra Cheesy Kraft Dinner";

  int priceA = 7, priceB = 10, priceC = 3, priceD = 6, priceE = 2, priceF =3, priceG = 5, priceH = 2, priceI = 3, priceJ = 4;
  int priceAtwo = 0, priceBtwo = 0, priceCtwo = 0, priceDtwo = 0, priceEtwo = 0, priceFtwo = 0, priceGtwo = 0, priceHtwo = 0, priceItwo = 0, priceJtwo = 0;
  while (code != 111){
  cout << "Please enter the barcode of your item, or press '111' to check out\n";

  
  cin >> code;
  
  if (code == 111){
	  goto skip_loop;
  }

  int amount = 0;
  cout << "How many do you want to purchase?\n";

  
  cin >> amount;

  if (code == 0123){
	  priceAtwo = priceA * amount;
    printf("%s\n",product[0].c_str());
	  }

  else if (code == 0124){
	  priceBtwo = priceB * amount;
  printf("%s\n",product[1].c_str());
  }
  
  else if (code == 0125){
	  priceCtwo = priceC * amount;
  printf("%s\n",product[2].c_str());
  }

  else if (code == 0126){
	  priceDtwo = priceD * amount;
  printf("%s\n",product[3].c_str());
  }
  
  else if (code == 0127){
	  priceEtwo = priceE * amount;
  printf("%s\n",product[4].c_str());
  }
  
  else if (code == 0133){
	  priceFtwo = priceF * amount;
  printf("%s\n",product[5].c_str());
  }

  else if (code == 0134){
	  priceGtwo = priceG * amount;
  printf("%s\n",product[6].c_str());
  }
  
  else if (code == 0130){
	 priceHtwo = priceH * amount;
  printf("%s\n",product[7].c_str());
  }

  else if (code == 0131){
	  priceItwo = priceI * amount;
  printf("%s\n",product[8].c_str());
  }

  else if (code == 0132){
	 priceJtwo = priceJ * amount;
  printf("%s\n",product[9].c_str());
  }
  }
skip_loop:
  
  int coupon = 0;
  bool leave = false;

  while (coupon != 000){
	  cout << "Please enter your coupon code, if you do not have any, please press '0'. Press '000' when finished entering coupon(s)\n";

  cin >> coupon;

  if (coupon == 051){
	  cout << "50% discount of 'Bounty Tissue'\n";
	  
	   priceBtwo = priceBtwo / 2;
  }
  else if (coupon == 017){
	  cout << "$2 off any Hagen Daaz product\n";

	   priceAtwo = priceAtwo - 2;
  }
  else if (coupon == 046){
	  cout << "$1 off two Lays original Chips\n";

	   priceEtwo = priceEtwo * 2 - 1;
  }
  else if (coupon == 035){
	  cout << "$1 off any Sunny D product\n";

	  priceFtwo = priceFtwo - 1;
  }
  
  else if (coupon == 0){
	  cout << "Your purchase is being processed\n";
  }
  }
  
//skip_loop:

  
  
  int bags = 0; 
  cout << "How many bags would you like to purchase(1 bag/$1 each)?\n";

  cin >> bags;

  bags = bags * 1;


  int subtotal = priceAtwo + priceBtwo + priceCtwo + priceDtwo + priceEtwo + priceFtwo + priceGtwo + priceHtwo + priceItwo + priceJtwo + bags;
  cout << "Subtotal:\n\n " << subtotal;
  int total = subtotal * 2;
  cout << "Total:\n\n " << total;

  int payment = 0;
  int pin = 0;
  double change = 0;
  double cash = 0;

  cout << "Would you like to pay with debit or cash? Press '1' for debit and '2' for cash\n";

  cin >> payment;
  
 
	  if (payment == 1){
		  cout << "Enter your pin number: ";
		  cin >> pin;
		  cout << "Approved. Your purchase is processing...\n";
	  }
	  else if (payment == 2){
		  cout << "Please enter the amount you are paying with:\n";
		  cin >> cash;
		  change = cash - total;
	  }

  cout << "Thank you for your purchase. Your reciept is printing...\n";
  cout << "<<<<<<<<<<<<<<<<<<<<<SM Supermarket>>>>>>>>>>>>>>>>>>>>>\n";
  cout << " Cashier: Samantha & Madeleine\n";
  cout << "\n";
  cout << "\n";
  cout << "--------------------------------------------------------\n";
  printf("%s\n",product[0].c_str());
  cout << "$" << priceA << "\n";
  printf("%s\n",product[1].c_str());
  cout << "$" << priceB << "\n";
  printf("%s\n",product[2].c_str());
  cout << "$" << priceC << "\n";
  printf("%s\n",product[3].c_str());
  cout << "$" << priceD << "\n";
  printf("%s\n",product[4].c_str());
  cout << "$" << priceE << "\n";
  printf("%s\n",product[5].c_str());
  cout << "$" << priceF << "\n";
  printf("%s\n",product[6].c_str());
  cout << "$" << priceG << "\n";
  printf("%s\n",product[7].c_str());
  cout << "$" << priceH << "\n" ;
  printf("%s\n",product[8].c_str());
  cout << "$" << priceI << "\n";
  printf("%s\n",product[9].c_str());
  cout << "$" << priceJ << "\n";
  cout << "\n";
  cout << "Bags";
  cout << "$" << bags;
  cout << "\n";
  cout << "-----------------";
  cout << "Subtotal: " << subtotal << "\n";
  cout << "Total: " << total << "\n";
  cout << "Amount Given: " << cash << "\n";
  cout << "Change: " << change << "\n";
  cout << "-----------------";
  cout << "Thanks for shopping at SM Supermarket!";
  cout << "***************************************";
  cout << "Please press '1' to exit. Have a nice day!";
  int exit = 0;
  cin >> exit;
  }
Topic archived. No new replies allowed.