capypad
0 Tage Serie
cpp / beginner
Snippet

Switch-Anweisungen: Mehrere Fälle effizient behandeln

Eine switch-Anweisung bietet eine effiziente Möglichkeit, mehrere Bedingungen zu behandeln, wenn eine Variable mehrere mögliche Werte haben kann. Anstatt viele if-else-Ketten zu schreiben, vergleichen Sie einen einzelnen Ausdruck mit mehreren case-Werten. Wenn eine Übereinstimmung gefunden wird, wird der Code dieses Falls ausgeführt. Das break-Schlüsselwort verhindert, dass das Programm zum nächsten Fall durchfällt. Wenn kein Fall übereinstimmt, wird der default-Block ausgeführt. Switch funktioniert mit Ganzzahlen, Zeichen und Enum-Typen, kann aber keine Bereiche oder Zeichenketten vergleichen.

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
27
28
#include <iostream>
 
int main() {
int day = 3;
 
switch (day) {
case 1:
std::cout << "Monday" << std::endl;
break;
case 2:
std::cout << "Tuesday" << std::endl;
break;
case 3:
std::cout << "Wednesday" << std::endl;
break;
case 4:
std::cout << "Thursday" << std::endl;
break;
case 5:
std::cout << "Friday" << std::endl;
break;
default:
std::cout << "Weekend" << std::endl;
break;
}
 
return 0;
}
Erklärung
1
switch (day)
Ausdruck in Klammern wird einmal ausgewertet und mit Fällen verglichen
2
case 3:
Label, das dem Wert von day entspricht (3 = Mittwoch)
3
break;
Beendet den Switch-Block und verhindert Durchfallen zu den restlichen Fällen
4
default:
Optionaler Fall, der ausgeführt wird, wenn kein anderer Fall übereinstimmt