Selection
Structure
using C++’s
switch…case
Quarter 3 – Week 5
Characteristics:
• The switch expression is evaluated once
• The value of the expression is compared with the
values of each case
• If there is a match, the associated block of code is
executed
• The break and default keywords are optional, and
will be described later in this chapter
The break Keyword
• When C++ reaches a break keyword, it breaks out of the
switch block.
• This will stop the execution of more code and case testing
inside the block.
• When a match is found, and the job is done, it's time for
a break. There is no need for more testing.
• A break can save a lot of execution time because it
"ignores" the execution of all the rest of the code in the
switch block.
The default Keyword
• The default keyword specifies
some code to run if there is no
case match
The default keyword specifies some code to run if there is no case match
The default Keyword
• The default keyword specifies some
code to run if there is no case
match
Example:
• int day = 4;
switch (day) {
case 1:
cout << "Monday";
break;
case 2:
cout << "Tuesday";
break;
case 3:
cout << "Wednesday";
break;
case 4:
cout << "Thursday";
break;
case 5:
cout << "Friday";
break;
case 6:
cout << "Saturday";
break;
case 7:
cout << "Sunday";
break;
}
// Outputs "Thursday" (day 4)
Example:
• int day = 4;
switch (day) {
case 6:
cout << "Today is Saturday";
break;
case 7:
cout << "Today is Sunday";
break;
default:
cout << "Looking forward to the Weekend";
}
// Outputs "Looking forward to the Weekend"
Switch with Case Range
switch (expression) {
case 1 ... 10: // Custom logic for range handling
cout << "Value is between 1 and 10." << endl;
break;
case 11 ... 20:
cout << "Value is between11”;
break;
default:
cout <<“You are out of range!”;
}
Switch with Two Accepted Values for case
switch (expression) {
case ‘A’ : case ‘a’: // Custom logic for range
handling
cout << "Value is between 1 and 10." << endl;
break;
case ‘B’ : case ‘b’:
cout << "Value is between11”;
break;
default:
cout <<“You are out of range!”;
}
NESTED
SWITCH
CASE