Variable diagrams

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?
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
Topic archived. No new replies allowed.