Using the switch Statement in C++
The switch statement allows you to execute different parts of code based on the value of a variable or expression. It's an alternative to using multiple if...else if statements when dealing with multiple possible values.
Syntax of the switch Statement
switch (expression) {
case value1:
// Code to execute when expression == value1
break;
case value2:
// Code to execute when expression == value2
break;
// ...
default:
// Code to execute when expression doesn't match any case
}
Example: Using the switch Statement
#include <iostream>
int main() {
int day;
std::cout << "Enter a number (1-7) for the day of the week: ";
std::cin >> day;
switch (day) {
case 1:
std::cout << "Sunday" << std::endl;
break;
case 2:
std::cout << "Monday" << std::endl;
break;
case 3:
std::cout << "Tuesday" << std::endl;
break;
case 4:
std::cout << "Wednesday" << std::endl;
break;
case 5:
std::cout << "Thursday" << std::endl;
break;
case 6:
std::cout << "Friday" << std::endl;
break;
case 7:
std::cout << "Saturday" << std::endl;
break;
default:
std::cout << "Invalid day number." << std::endl;
}
return 0;
}
Key Takeaways
- The
switchstatement simplifies code when checking a variable against multiple constant values. - The
breakstatement prevents fall-through to the next case. - The
defaultcase handles any values not matched by the cases.
When to Use switch vs. if...else
- Use
switchwhen comparing a single variable to multiple constant values. - Use
if...elsefor complex conditions or ranges. switchstatements can be more efficient and readable for certain scenarios.
Limitations of the switch Statement
- The expression must evaluate to an integral or enumeration type.
- Cannot use ranges or relational operators directly in cases.
- Case labels must be constant expressions.