Contenu du cours
Instructions Conditionnelles en C++
Instructions Conditionnelles en C++
Instruction Switch
L'instruction switch
est également une des structures de contrôle qui simplifie la prise de décision dans vos programmes. Elle offre un moyen efficace d'évaluer une expression et d'exécuter différents blocs de code en fonction de la valeur de cette expression. Cela peut être particulièrement utile lorsqu'on traite un grand nombre de conditions de branchement.
Elle est principalement conçue pour fonctionner avec des valeurs numériques, telles que les entiers (int
) et les caractères (char
).
switch
switch (expression) { case value1: // Code to execute when expression matches value1 break; case value2: // Code to execute when expression matches value2 break; // More cases can be added as needed // Code to execute when expression matches valueN default: // Code to execute when none of the case labels match the expression }
-
L'expression est évaluée une fois, et le programme saute au
case
approprié en fonction de la valeur de l'expression; -
Chaque
case
représente une valeur spécifique ou un ensemble de valeurs que l'expression pourrait correspondre; -
L'instruction
break
est utilisée pour sortir du bloc switch après que le code pour un cas particulier a été exécuté; -
Le
default
est optionnel et est utilisé lorsque aucun des cas spécifiés ne correspond à l'expression. Il agit comme une option de secours.
Supposons que vous possédiez un restaurant et que vous souhaitiez fournir un menu basé sur des codes numériques listés. Voici la représentation en code des éléments du menu.
main
#include <iostream> int main() { // try to change the value int menu_number = 1; switch (menu_number) { case 1: std::cout << "Pizza" << std::endl; break; case 2: std::cout << "Burger with fries" << std::endl; break; case 3: std::cout << "Pasta with meatballs" << std::endl; break; default: std::cout << "We don`t have this in our menu" << std::endl; break; } }
Oui, vous pouvez réaliser cela avec une simple instruction if
, et cela ressemblerait à ceci :
main
#include <iostream> int main() { // try to change the value int menu_number = 1; if (menu_number == 1) { std::cout << "Pizza" << std::endl; } else if (menu_number == 2) { std::cout << "Burger with fries" << std::endl; } else if (menu_number == 3) { std::cout << "Pasta with meatballs" << std::endl; } else { std::cout << "We don`t have this in our menu" << std::endl; } }
Cela fonctionnera de la même manière et comme prévu, mais il est généralement préférable d'utiliser une instruction switch
car elle offre une manière plus claire, plus lisible et, surtout, plus facile à maintenir et extensible de gérer ce type de flux de contrôle.
Omettre le mot-clé break
dans une instruction switch peut entraîner un comportement inattendu du programme, car le code continuera à s'exécuter dans les cas suivants. Cependant, omettre intentionnellement break
peut être utilisé pour gérer plusieurs cas dans le même bloc de code. Cette approche, connue sous le nom de fall-through, vous permet de gérer des cas connexes ensemble.
main
#include <iostream> int main() { // change the number and look how it affect the output int number = 3; switch (number) { case 1: std::cout << '1' << std::endl; case 2: std::cout << '2' << std::endl; case 3: std::cout << '3' << std::endl; case 4: std::cout << '4' << std::endl; case 5: std::cout << '5' << std::endl; break; } }
Swipe to start coding
- Écrivez une instruction
switch
qui affiche le jour de la semaine correspondant en fonction de la valeur deday_of_week
. - Si la valeur n'est pas un jour valide, affichez
The day doesn't exist
dans la console.
Solution
solution
Merci pour vos commentaires !
Instruction Switch
L'instruction switch
est également une des structures de contrôle qui simplifie la prise de décision dans vos programmes. Elle offre un moyen efficace d'évaluer une expression et d'exécuter différents blocs de code en fonction de la valeur de cette expression. Cela peut être particulièrement utile lorsqu'on traite un grand nombre de conditions de branchement.
Elle est principalement conçue pour fonctionner avec des valeurs numériques, telles que les entiers (int
) et les caractères (char
).
switch
switch (expression) { case value1: // Code to execute when expression matches value1 break; case value2: // Code to execute when expression matches value2 break; // More cases can be added as needed // Code to execute when expression matches valueN default: // Code to execute when none of the case labels match the expression }
-
L'expression est évaluée une fois, et le programme saute au
case
approprié en fonction de la valeur de l'expression; -
Chaque
case
représente une valeur spécifique ou un ensemble de valeurs que l'expression pourrait correspondre; -
L'instruction
break
est utilisée pour sortir du bloc switch après que le code pour un cas particulier a été exécuté; -
Le
default
est optionnel et est utilisé lorsque aucun des cas spécifiés ne correspond à l'expression. Il agit comme une option de secours.
Supposons que vous possédiez un restaurant et que vous souhaitiez fournir un menu basé sur des codes numériques listés. Voici la représentation en code des éléments du menu.
main
#include <iostream> int main() { // try to change the value int menu_number = 1; switch (menu_number) { case 1: std::cout << "Pizza" << std::endl; break; case 2: std::cout << "Burger with fries" << std::endl; break; case 3: std::cout << "Pasta with meatballs" << std::endl; break; default: std::cout << "We don`t have this in our menu" << std::endl; break; } }
Oui, vous pouvez réaliser cela avec une simple instruction if
, et cela ressemblerait à ceci :
main
#include <iostream> int main() { // try to change the value int menu_number = 1; if (menu_number == 1) { std::cout << "Pizza" << std::endl; } else if (menu_number == 2) { std::cout << "Burger with fries" << std::endl; } else if (menu_number == 3) { std::cout << "Pasta with meatballs" << std::endl; } else { std::cout << "We don`t have this in our menu" << std::endl; } }
Cela fonctionnera de la même manière et comme prévu, mais il est généralement préférable d'utiliser une instruction switch
car elle offre une manière plus claire, plus lisible et, surtout, plus facile à maintenir et extensible de gérer ce type de flux de contrôle.
Omettre le mot-clé break
dans une instruction switch peut entraîner un comportement inattendu du programme, car le code continuera à s'exécuter dans les cas suivants. Cependant, omettre intentionnellement break
peut être utilisé pour gérer plusieurs cas dans le même bloc de code. Cette approche, connue sous le nom de fall-through, vous permet de gérer des cas connexes ensemble.
main
#include <iostream> int main() { // change the number and look how it affect the output int number = 3; switch (number) { case 1: std::cout << '1' << std::endl; case 2: std::cout << '2' << std::endl; case 3: std::cout << '3' << std::endl; case 4: std::cout << '4' << std::endl; case 5: std::cout << '5' << std::endl; break; } }
Swipe to start coding
- Écrivez une instruction
switch
qui affiche le jour de la semaine correspondant en fonction de la valeur deday_of_week
. - Si la valeur n'est pas un jour valide, affichez
The day doesn't exist
dans la console.
Solution
solution
Merci pour vos commentaires !