C++/Language/Switch
A switch statement in action
<source lang="cpp">
- include <iostream>
using namespace std; int main(void) {
char grade; cout << "Enter your grade: "; cin >> grade; switch (grade) { case "A": cout << "Your average must be between 90 - 100" << endl; break; case "B": cout << "Your average must be between 80 - 89" << endl; break; case "C": cout << "Your average must be between 70 - 79" << endl; break; case "D": cout << "Your average must be between 60 - 69" << endl; break; default: cout << "Your average must be below 60" << endl; } return 0;
}
</source>
Deliberately falls through the case
<source lang="cpp">
- include <iostream>
using namespace std; int main(void) {
char choice; cout << "Choose your car\n"; cout << "S \n"; cout << "L \n"; cout << "D \n"; cin >> choice; cout << "Extra features purchased\n"; switch (choice) { case "D": cout << "D\n"; case "L": cout << "L\n"; break; default: cout << "None\n"; } return 0;
}
</source>
Switch: falling-through behavior
<source lang="cpp">
- include <iostream>
using namespace std; int main(void) {
char grade; cout << "Enter your grade: "; cin >> grade; switch (grade) { case "a":case "A": cout << "Your average must be between 90 - 100" << endl; break; case "b": case "B": cout << "Your average must be between 80 - 89" << endl; break; case "c": case "C": cout << "Your average must be between 70 - 79" << endl; break; case "d": case "D": cout << "Your average must be between 60 - 69" << endl; break; default: cout << "Your average must be below 60" << endl; }
return 0; }
</source>