Ebben az oktatóanyagban néhány példával megismerhetjük a switch utasításokat és annak működését a C ++ programozásban.
A switch
kijelentés lehetővé teszi számunkra, hogy egy kódblokkot végrehajtsunk számos alternatíva között.
Az utasítás szintaxisa a switch
C ++ nyelven:
switch (expression) ( case constant1: // code to be executed if // expression is equal to constant1; break; case constant2: // code to be executed if // expression is equal to constant2; break;… default: // code to be executed if // expression doesn't match any constant )
Hogyan működik a switch utasítás?
Az expression
értékeket egyszer értékelik és összehasonlítják az egyes case
címkék értékeivel .
- Ha van egyezés, akkor a megfelelő kód végrehajtásra kerül az egyező címke után. Például, ha a változó értéke megegyezik
constant2
, az utánacase constant2:
lévő kódot addig hajtjuk végre, amíg azbreak
utasítás meg nem jelenik. - Ha nincs egyezés, akkor az utána
default:
lévő kód végrehajtásra kerül.
Megjegyzés : Ugyanezt tehetjük a if… else… if
létrával is. Az switch
állítás szintaxisa azonban tisztább és sokkal könnyebben olvasható és írható.
A kapcsoló nyilatkozatának folyamatábra

Példa: Hozzon létre egy számológépet a Statement kapcsoló használatával
// Program to build a simple calculator using switch Statement #include using namespace std; int main() ( char oper; float num1, num2; cout <> oper; cout << "Enter two numbers: " <> num1>> num2; switch (oper) ( case '+': cout << num1 << " + " << num2 << " = " << num1 + num2; break; case '-': cout << num1 << " - " << num2 << " = " << num1 - num2; break; case '*': cout << num1 << " * " << num2 << " = " << num1 * num2; break; case '/': cout << num1 << " / " << num2 << " = " << num1 / num2; break; default: // operator is doesn't match any case constant (+, -, *, /) cout << "Error! The operator is not correct"; break; ) return 0; )
1. kimenet
Írjon be egy operátort (+, -, *, /): + Írjon be két számot: 2,3 4,5 2,3 + 4,5 = 6,8
2. kimenet
Írjon be egy operátort (+, -, *, /): - Írjon be két számot: 2,3 4,5 2,3 - 4,5 = -2,2
3. kimenet
Írjon be egy operátort (+, -, *, /): * Írjon be két számot: 2,3 4,5 2,3 * 4,5 = 10,35
4. kimenet
Írjon be egy operátort (+, -, *, /): / Írjon be két számot: 2,3 4,5 2,3 / 4,5 = 0,511111
5. kimenet
Írjon be egy operátort (+, -, *, /):? Írjon be két számot: 2.3 4.5 Hiba! Az operátor nem megfelelő.
A fenti programban az switch… case
utasítással összeadást, kivonást, szorzást és osztást hajtunk végre.
Hogyan működik ez a program
- Először felszólítjuk a felhasználót, hogy írja be a kívánt operátort. Ezt a bemenetet az
char
oper nevű változó tárolja . - Ezután kéri a felhasználót, hogy írjon be két számot, amelyek a num1 és a num2 úszó változókban vannak tárolva.
- Ezután az
switch
utasítás segítségével ellenőrizzük a felhasználó által megadott operátort:- Ha a felhasználó beírja
+
, a számokat kiegészíteni kell. - Ha a felhasználó belép
-
, kivonás történik a számokról. - Ha a felhasználó belép
*
, akkor a számokra szorzást végeznek. - Ha a felhasználó belép
/
, a számokra osztást végeznek. - Ha a felhasználó bármilyen más karaktert beír, az alapértelmezett kód kerül kinyomtatásra.
- Ha a felhasználó beírja
Figyelje meg, hogy az break
utasítást minden case
blokkon belül használják . Ezzel megszűnik az switch
utasítás.
Ha az break
utasítást nem használják, akkor a helyes utáni összes eset case
végrehajtásra kerül.