C++ switch..case Verklaring
C++ switch..case Statement
In deze tutorial zullen we met behulp van enkele voorbeelden leren over switch-statements en de werking ervan in C++-programmering.
De switch
statement stelt ons in staat om een codeblok uit te voeren tussen vele alternatieven.
De syntaxis van de switch
statement 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?
De expression
wordt één keer geëvalueerd en vergeleken met de waarden van elke 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
, de code nacase constant2:
wordt uitgevoerd totdat de break-instructie wordt aangetroffen. - Als er geen overeenkomst is, de code na
default:
wordt uitgevoerd.
Opmerking :We kunnen hetzelfde doen met de if...else..if
ladder. De syntaxis van de switch
verklaring is schoner en veel gemakkelijker te lezen en te schrijven.
Stroomdiagram van switchverklaring

Voorbeeld:maak een rekenmachine met de switch-instructie
// Program to build a simple calculator using switch Statement
#include <iostream>
using namespace std;
int main() {
char oper;
float num1, num2;
cout << "Enter an operator (+, -, *, /): ";
cin >> oper;
cout << "Enter two numbers: " << endl;
cin >> 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
Enter an operator (+, -, *, /): + Enter two numbers: 2.3 4.5 2.3 + 4.5 = 6.8
Uitgang 2
Enter an operator (+, -, *, /): - Enter two numbers: 2.3 4.5 2.3 - 4.5 = -2.2
Uitgang 3
Enter an operator (+, -, *, /): * Enter two numbers: 2.3 4.5 2.3 * 4.5 = 10.35
Uitgang 4
Enter an operator (+, -, *, /): / Enter two numbers: 2.3 4.5 2.3 / 4.5 = 0.511111
Uitgang 5
Enter an operator (+, -, *, /): ? Enter two numbers: 2.3 4.5 Error! The operator is not 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 genaamd oper . - Vervolgens vragen we de gebruiker om twee getallen in te voeren, die zijn opgeslagen in de float-variabelen num1 en num2 .
- De
switch
statement wordt vervolgens gebruikt om de door de gebruiker ingevoerde operator te controleren:- Als de gebruiker
+
invoert , wordt opgeteld bij de getallen. - Als de gebruiker
-
invoert , wordt afgetrokken van de getallen. - Als de gebruiker
*
invoert , vermenigvuldiging wordt uitgevoerd op de getallen. - Als de gebruiker
/
invoert , deling wordt uitgevoerd op de getallen. - Als de gebruiker een ander teken invoert, wordt de standaardcode afgedrukt.
- Als de gebruiker
Merk op dat de break
statement wordt gebruikt binnen elke case
blok. Dit beëindigt de switch
verklaring.
Als de break
statement wordt niet gebruikt, alle hoofdletters na de juiste case
worden uitgevoerd.
C Taal