capypad
0 Tage Serie
cpp / beginner
Snippet

Switch-Anweisungen: Mehrfachverzweigung

Die Switch-Anweisung bietet sauberere Mehrfachverzweigung als mehrere if-else-Ketten. Sie wertet einen einzelnen Ausdruck aus und springt zum passenden Case-Label. Cases ohne break 'fallen durch' zum naechsten Case, was mehreren Werten erlaubt, Code zu teilen. Der Default-Case behandelt jeden Wert, der nicht von expliziten Cases匹配t wurde.

snippet.cpp
cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <iostream>
 
int main() {
int grade = 3;
 
switch (grade) {
case 1:
std::cout << "Excellent!" << std::endl;
break;
case 2:
std::cout << "Good job!" << std::endl;
break;
case 3:
std::cout << "Satisfactory" << std::endl;
break;
case 4:
case 5:
std::cout << "Needs improvement" << std::endl;
break;
default:
std::cout << "Invalid grade" << std::endl;
break;
}
 
return 0;
}
Erklärung
1
switch (grade)
Wertet die Variable 'grade' gegen Case-Werte aus
2
case 4: case 5:
Fall-through: sowohl 4 als auch 5 fuehren denselben Code aus
3
default:
Wird ausgefuehrt, wenn kein anderer Case匹配t