Question: In Listing 6.10, what advantage would there be in using character labels, such as a and c, instead of numbers for the menu choices and
In Listing 6.10, what advantage would there be in using character labels, such as a and c, instead of numbers for the menu choices and switch cases?



Here is a sample run of the executive menu program in Listing 6.10:
Please enter 1, 2, 3, 4, or 5:
1) alarm 2) report
3) alibi 4) comfort
5) quit
4
Your employees think you are the finest CEO
in the industry. The board of directors think
you are the finest CEO in the industry.
Please enter 1, 2, 3, 4, or 5:
1) alarm 2) report
3) alibi 4) comfort
5) quit
2
It's been an excellent week for business.
Sales are up 120%. Expenses are down 35%.
Please enter 1, 2, 3, 4, or 5:
1) alarm 2) report
3) alibi 4) comfort
5) quit
6
That's not a choice.
Please enter 1, 2, 3, 4, or 5:
1) alarm 2) report
3) alibi 4) comfort
5) quit
5
Bye!
The while loop terminates when the user enters 5. Entering 1 through 4 activates the corresponding choice from the switch list, and entering 6 triggers the default statements.
Note that input has to be an integer for this program to work correctly. If, for example, you enter a letter, the input statement will fail, and the loop will cycle endlessly until you
kill the program. To deal with those who don’t follow instructions, it’s better to use character input.
As noted earlier, this program needs the break statements to confine execution to a particular portion of a switch statement.To see that this is so, you can remove the break
statements from Listing 6.10 and see how it works afterward.You’ll find, for example, that entering 2 causes the program to execute all the statements associated with case labels 2, 3, 4, and the default. C++ works this way because that sort of behavior can be useful. For one thing, it makes it simple to use multiple labels. For example, suppose you rewrote
Listing 6.10 using characters instead of integers as menu choices and switch labels. In that case, you could use both an uppercase and a lowercase label for the same statements:

Because there is no break immediately following case 'a', program execution passes on to the next line, which is the statement following case 'A'.
Listing 6.10 switch.cpp // switch.cpp - using the switch statement #include using namespace std; void showmenu(); // function prototypes void report (); void comfort (); int main() { showmenu (); int choice; cin >> choice; while (choice 1= 5) { switch (choice) { case 1 : case 2 : case 3 : case 4 : default : } showmenu (); cin>> choice; cout < < "\a "; break; report (); break; cout < < "The boss was in all day. "; break; comfort (); break; cout < < "That's not a choice. ";
Step by Step Solution
3.53 Rating (146 Votes )
There are 3 Steps involved in it
In the code provided in Listing 610 the menu choices and switch cases are initially implemented using numbers The advantage of using character labels ... View full answer
Get step-by-step solutions from verified subject matter experts
