May 11, 2021 at 10:08am UTC
Hello all!
So I have a question regarding this.
It says to draw a series of variable diagrams for the program below , assume that input "2010 t" is given.
1 #include <iostream>
2 #include <string>
3 using namespace std;
4 int main()
5 {
6 int year; char code;
7 bool book = true; float discount = 0.20;
8 cin >> year >> code;
9 switch (year)
10 {
11 case 2008: case 2009:
12 if (code == 'c')
13 if (!book)
14 discount += 0.20;
15 break;
16 case 2010:
17 if (book)
18 if (code == 't')
19 {
20 book = false;
21 code = 'g';
22 }
23 case 2011:
24 if (discount > 0.20 || code == 'g')
25 discount = 0.15;
26 else
27 discount += 0.10;
28 default:
29 discount = 0.25;
30 code = 'b';
31 book = true;
32 }
33 discount = 0.35;
34 cout << year << " " << code << " " << book << " "
<< discount << endl;
35 return 0;
36 }
Now I want to know what is meant by variable diagrams? Like what must I do? Should I just make it into a table or what?
I made changes to line 34 and changed it to
cout << "Year = " << year <<endl;
cout << "Code = " << code <<endl;
cout << "Book = " << book
<< discount << endl;
but i still don't understand what is needed to do. Anyone can maybe help by elaborating?
May 11, 2021 at 10:48am UTC
I haven't come across variable diagrams either. However I think that it means to show the contents of the various variables as the program is executed line by line with the given input.
Code should be formatted with code tags:
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
#include <iostream>
#include <string>
using namespace std;
int main() {
int year; char code;
bool book = true ; float discount = 0.20;
cin >> year >> code;
switch (year) {
case 2008:
case 2009:
if (code == 'c' )
if (!book)
discount += 0.20;
break ;
case 2010:
if (book)
if (code == 't' ) {
book = false ;
code = 'g' ;
}
case 2011:
if (discount > 0.20 || code == 'g' )
discount = 0.15;
else
discount += 0.10;
default :
discount = 0.25;
code = 'b' ;
book = true ;
}
discount = 0.35;
cout << year << " " << code << " " << book << " " << discount << endl;
return 0;
}
This is much easier to read!
Last edited on May 11, 2021 at 12:09pm UTC