In deze zelfstudie leren we met behulp van enkele voorbeelden over de instructie switch en de werking ervan in C ++ - programmering.
De switch
instructie stelt ons in staat om een blok code uit te voeren uit vele alternatieven.
De syntaxis van de switch
instructie in C ++ is:
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 )
Hoe werkt de switch-instructie?
Het expression
wordt één keer geëvalueerd en vergeleken met de waarden van elk case
label.
- Als er een overeenkomst is, wordt de bijbehorende code na het overeenkomende label uitgevoerd. Als de waarde van de variabele bijvoorbeeld gelijk is aan
constant2
, wordt de code ernacase constant2:
uitgevoerd totdat debreak
instructie wordt aangetroffen. - Als er geen overeenkomst is, wordt de code erna
default:
uitgevoerd.
Opmerking : we kunnen hetzelfde doen met de if… else… if
ladder. De syntaxis van de switch
instructie is echter schoner en veel gemakkelijker te lezen en te schrijven.
Stroomschema van Switch Statement

Voorbeeld: maak een rekenmachine met behulp van de switch-instructie
// 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; )
Uitgang 1
Voer een operator in (+, -, *, /): + Voer twee cijfers in: 2,3 4,5 2,3 + 4,5 = 6,8
Uitgang 2
Voer een operator in (+, -, *, /): - Voer twee cijfers in: 2.3 4.5 2.3 - 4.5 = -2.2
Uitgang 3
Voer een operator in (+, -, *, /): * Voer twee cijfers in: 2,3 4,5 2,3 * 4,5 = 10,35
Uitgang 4
Voer een operator in (+, -, *, /): / Voer twee cijfers in: 2,3 4,5 2,3 / 4,5 = 0,511111
Uitgang 5
Voer een operator in (+, -, *, /):? Voer twee cijfers in: 2.3 4.5 Fout! De operator is niet correct.
In het bovenstaande programma gebruiken we de switch… case
instructie om optellen, aftrekken, vermenigvuldigen en delen uit te voeren.
Hoe dit programma werkt
- We vragen de gebruiker eerst om de gewenste operator in te voeren. Deze invoer wordt vervolgens opgeslagen in de
char
variabele met de naam oper. - Vervolgens vragen we de gebruiker om twee getallen in te voeren, die worden opgeslagen in de zwevende variabelen num1 en num2.
- De
switch
verklaring wordt vervolgens gebruikt om de operator te controleren die door de gebruiker is ingevoerd:- Als de gebruiker invoert
+
, wordt de optelling uitgevoerd op de nummers. - Als de gebruiker invoert
-
, wordt afgetrokken op de getallen. - Als de gebruiker invoert
*
, wordt vermenigvuldiging op de getallen uitgevoerd. - Als de gebruiker invoert
/
, wordt de verdeling op de cijfers uitgevoerd. - Als de gebruiker een ander teken invoert, wordt de standaardcode afgedrukt.
- Als de gebruiker invoert
Merk op dat de break
instructie in elk case
blok wordt gebruikt . Dit beëindigt de switch
verklaring.
Als de break
instructie niet wordt gebruikt, worden alle gevallen na de correctie case
uitgevoerd.