Dans ce didacticiel, nous en apprendrons davantage sur l'instruction switch et son fonctionnement en programmation C ++ à l'aide de quelques exemples.
L' switch
instruction nous permet d'exécuter un bloc de code parmi de nombreuses alternatives.
La syntaxe de l' switch
instruction en C ++ est:
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 )
Comment fonctionne l'instruction switch?
Le expression
est évalué une fois et comparé aux valeurs de chaque case
étiquette.
- S'il y a une correspondance, le code correspondant après l'étiquette correspondante est exécuté. Par exemple, si la valeur de la variable est égale à
constant2
, le code aprèscase constant2:
est exécuté jusqu'à ce que l'break
instruction soit rencontrée. - S'il n'y a pas de correspondance, le code après
default:
est exécuté.
Remarque : nous pouvons faire la même chose avec l' if… else… if
échelle. Cependant, la syntaxe de l' switch
instruction est plus claire et beaucoup plus facile à lire et à écrire.
Organigramme de la déclaration de commutation

Exemple: créer une calculatrice à l'aide de l'instruction switch
// 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; )
Sortie 1
Entrez un opérateur (+, -, *, /): + Entrez deux nombres: 2,3 4,5 2,3 + 4,5 = 6,8
Sortie 2
Entrez un opérateur (+, -, *, /): - Entrez deux nombres: 2,3 4,5 2,3 - 4,5 = -2,2
Sortie 3
Entrez un opérateur (+, -, *, /): * Entrez deux nombres: 2,3 4,5 2,3 * 4,5 = 10,35
Sortie 4
Entrez un opérateur (+, -, *, /): / Entrez deux nombres: 2,3 4,5 2,3 / 4,5 = 0,511111
Sortie 5
Entrez un opérateur (+, -, *, /):? Entrez deux chiffres: 2.3 4.5 Erreur! L'opérateur n'est pas correct.
Dans le programme ci-dessus, nous utilisons l' switch… case
instruction pour effectuer l'addition, la soustraction, la multiplication et la division.
Comment ce programme fonctionne
- Nous invitons d'abord l'utilisateur à entrer l'opérateur souhaité. Cette entrée est ensuite stockée dans la
char
variable nommée oper. - Nous invitons ensuite l'utilisateur à entrer deux nombres, qui sont stockés dans les variables flottantes num1 et num2.
- L'
switch
instruction est ensuite utilisée pour vérifier l'opérateur saisi par l'utilisateur:- Si l'utilisateur entre
+
, l'addition est effectuée sur les nombres. - Si l'utilisateur entre
-
, une soustraction est effectuée sur les nombres. - Si l'utilisateur entre
*
, la multiplication est effectuée sur les nombres. - Si l'utilisateur entre
/
, la division est effectuée sur les nombres. - Si l'utilisateur entre un autre caractère, le code par défaut est imprimé.
- Si l'utilisateur entre
Notez que l' break
instruction est utilisée à l'intérieur de chaque case
bloc. Cela met fin à l' switch
instruction.
Si l' break
instruction n'est pas utilisée, tous les cas après le correct case
sont exécutés.