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
![](https://cdn.wiki-base.com/4103815/c_switchcase_statement_with_examples.png.webp)
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.