Note 13.2.1.
Be sure to incorporate a
break
statment into each branch so that the flow of execution stops after that branch.
switch
statement
switch
statements, because they often go hand in hand. A switch
statement is an alternative to a chained conditional that is syntactically prettier and often more efficient. It looks like this:
switch (symbol) {
case '+':
perform_addition();
break;
case '*':
perform_multiplication();
break;
default:
cout << "I only know how to perform addition and multiplication" << endl;
break;
}
switch
statement is equivalent to the following chained conditional:
if (symbol == '+') {
perform_addition();
}
else if (symbol == '*') {
perform_multiplication();
}
else {
cout << "I only know how to perform addition and multiplication" << endl;
}
break
statements are necessary in each branch in a switch
statement because otherwise the flow of execution “falls through” to the next case.
break
statment into each branch so that the flow of execution stops after that branch.
break
statements, the symbol +
would make the program perform addition, and then perform multiplication, and then print the error message. Occasionally this feature is useful, but most of the time it is a source of errors when people forget the break
statements.
type
, it will change the Pokemon you choose. Notice how if you don’t assign type
to a valid type, it outputs the default message. Try taking out the break
statements in each case. What happens if you run the code with type
as ‘g’ afterwards?switch
statements work with integers, characters, and enumerated types. For example, to convert a Suit
to the corresponding string, we could use something like:
switch (suit) {
case CLUBS: return "Clubs";
case DIAMONDS: return "Diamonds";
case HEARTS: return "Hearts";
case SPADES: return "Spades";
default: return "Not a valid suit";
}
break
statements because the return
statements cause the flow of execution to return to the caller instead of falling through to the next case.
default
case in every switch
statement, to handle errors or unexpected values.
switch
statement?
int main() {
int num = 2;
switch (num) {
case 1:
cout << 1;
break;
case 2:
cout << 4;
case 3:
cout << 9;
break;
default:
cout << "Invalid num! Please try again.";
break;
}
}
int main() {
int num = 1;
switch (num) {
case 1:
cout << 1;
break;
case 2:
cout << 4;
case 3:
cout << 9;
default:
cout << "Invalid num! Please try again.";
}
}
int main() {
int num = 2;
switch (num) {
case 1:
cout << 1;
break;
case 2:
cout << 4;
case 3:
cout << 9;
default:
cout << "Invalid num! Please try again.";
}
}