Instruction C++ switch..case
Instruction C++ switch..case
Dans ce didacticiel, nous allons découvrir l'instruction switch et son fonctionnement en programmation C++ à l'aide de quelques exemples.
Le switch
nous permet d'exécuter un bloc de code parmi de nombreuses alternatives.
La syntaxe du switch
l'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'instruction break soit rencontrée. - S'il n'y a pas de correspondance, le code après
default:
est exécuté.
Remarque :On peut faire la même chose avec le if...else..if
échelle. Cependant, la syntaxe du switch
déclaration est plus propre et beaucoup plus facile à lire et à écrire.
Organigramme de l'instruction switch
Exemple :créer une calculatrice à l'aide de l'instruction switch
// 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;
}
Sortie 1
Enter an operator (+, -, *, /): + Enter two numbers: 2.3 4.5 2.3 + 4.5 = 6.8
Sortie 2
Enter an operator (+, -, *, /): - Enter two numbers: 2.3 4.5 2.3 - 4.5 = -2.2
Sortie 3
Enter an operator (+, -, *, /): * Enter two numbers: 2.3 4.5 2.3 * 4.5 = 10.35
Sortie 4
Enter an operator (+, -, *, /): / Enter two numbers: 2.3 4.5 2.3 / 4.5 = 0.511111
Sortie 5
Enter an operator (+, -, *, /): ? Enter two numbers: 2.3 4.5 Error! The operator is not correct.
Dans le programme ci-dessus, nous utilisons le switch...case
instruction pour effectuer l'addition, la soustraction, la multiplication et la division.
Comment fonctionne ce programme
- Nous invitons d'abord l'utilisateur à saisir l'opérateur souhaité. Cette entrée est ensuite stockée dans le
char
variable nommée oper . - Nous invitons ensuite l'utilisateur à entrer deux nombres, qui sont stockés dans les variables flottantes num1 et num2 .
- Le
switch
L'instruction est ensuite utilisée pour vérifier l'opérateur saisi par l'utilisateur :- Si l'utilisateur saisit
+
, l'addition est effectuée sur les nombres. - Si l'utilisateur saisit
-
, la soustraction est effectuée sur les nombres. - Si l'utilisateur saisit
*
, la multiplication est effectuée sur les nombres. - Si l'utilisateur saisit
/
, la division est effectuée sur les nombres. - Si l'utilisateur saisit un autre caractère, le code par défaut est imprimé.
- Si l'utilisateur saisit
Notez que le break
l'instruction est utilisée à l'intérieur de chaque case
bloquer. Ceci termine le switch
déclaration.
Si le break
l'instruction n'est pas utilisée, tous les cas après le bon case
sont exécutés.
Langue C