L'instruction Switch
Fait partie de la section Fondamentaux du Journey C++ de Coddy — leçon 29 sur 74.
L'instruction switch est semblable à une instruction if à choix multiples. Au lieu d'évaluer une seule condition, elle compare la valeur d'une variable à plusieurs cas et exécute le code associé au cas correspondant.
Voici la structure de base d'une instruction switch :
switch (variable) {
case value1:
// Code à exécuter si variable est égale à value1
break;
case value2:
// Code à exécuter si variable est égale à value2
break;
// ... d'autres cas
default:
// Code à exécuter si aucun cas ne correspond
}- Le mot-clé
switchest suivi de la variable que vous souhaitez tester entre parenthèses. - Chaque
casereprésente une valeur possible de la variable. - Le code à l'intérieur de chaque
caseest exécuté si la variable correspond à la valeur de ce cas.
- L'instruction
breakest cruciale ; elle permet de quitter leswitchaprès l'exécution d'un cas. Sans elle, l'exécution continuerait dans le cas suivant. - Le cas
defaultest facultatif et est exécuté si aucun autre cas ne correspond.
Voici un exemple :
int day = 3;
std::string dayName;
switch (day) {
case 1:
dayName = "Monday";
break;
case 2:
dayName = "Tuesday";
break;
// ... cas pour les autres jours
default:
dayName = "Invalid day";
}Vous pouvez également combiner plusieurs cas en un seul :
int day = 3;
std::string dayName;
switch (day) {
case 1:
case 2:
case 3:
dayName = "Start of week";
break;
// ... cas pour les autres jours
default:
dayName = "Invalid day";
}Défi
DébutantCréez un programme qui prend un numéro de mois (1 pour janvier, 2 pour février, etc.) et affiche la saison à laquelle il appartient. Utilisez une instruction switch pour la logique.
Les saisons et leurs mois correspondants sont :
- Winter : Décembre (12), Janvier (1), Février (2)
- Spring : Mars (3), Avril (4), Mai (5)
- Summer : Juin (6), Juillet (7), Août (8)
- Autumn : Septembre (9), Octobre (10), Novembre (11)
- Invalid month : pour les autres options
Aide-mémoire
L'instruction switch est une conditionnelle à plusieurs voies qui vérifie une variable par rapport à plusieurs cas :
switch (variable) {
case value1:
// Code à exécuter si variable est égale à value1
break;
case value2:
// Code à exécuter si variable est égale à value2
break;
default:
// Code à exécuter si aucun cas ne correspond
}Composants clés :
case: représente une valeur possible de la variablebreak: quitte le switch après l'exécution d'un cas (empêche le passage au cas suivant)default: cas optionnel exécuté si aucun autre cas ne correspond
Vous pouvez combiner plusieurs cas :
switch (day) {
case 1:
case 2:
case 3:
dayName = "Start of week";
break;
default:
dayName = "Invalid day";
}Essayez vous-même
#include <iostream>
int main() {
int month;
std::cin >> month;
std::string season = "";
// Écrivez votre code ci-dessous
std::cout << season << std::endl;
return 0;
}Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Fondamentaux
4Opérateurs - Partie 1
Opérateurs arithmétiquesOpérateur moduloIncrémentation / DécrémentationPost-incrémentation / Post-décrémentationRaccourcis arithmétiquesOpérateurs de comparaisonComparaison de chaînes7Bases des entrées/sorties
Instruction coutInstruction cinSaisie de chaînes de caractèresRécapitulatif - Jusqu'à 120Récapitulatif - Vrai ou Faux3Variables - Partie 2
Déclaration de typeConventions de nommageRécapitulatif - Initialisation des variablesType Casting - Partie 1Type Casting - Partie 26Prise de décision
L'instruction IfIf - ElseL'instruction SwitchOpérateur conditionnelRécapitulatif - If ElseIf - Else imbriqués