If - Else imbriqués
Fait partie de la section Fundamentals du Journey C de Coddy — leçon 31 sur 63.
Nous pouvons imbriquer des instructions if-else les unes dans les autres. Cela nous permet de créer des structures de prise de décision hiérarchiques.
Par exemple :
if (age > 18) {
if (hasLicense) {
printf("You can drive");
} else {
printf("Get a license first");
}
} else {
printf("Too young to drive");
}Il peut être imbriqué à l'infini :
if (condition1) {
if (condition2) {
if (condition3) {
// si condition1, condition2 et condition3 sont vraies
}
}
}Défi
FacileCréez un programme qui vérifie si quelqu'un peut monter dans des montagnes russes. Les conditions sont les suivantes :
- Doit avoir au moins 12 ans
- Doit mesurer plus de 150 cm
- S'ils remplissent les deux conditions mais ont moins de 15 ans, ils ont besoin de la supervision d'un adulte
Affichez exactement ces messages pour chaque cas :
- Si trop jeune :
Sorry, you are too young - Si pas assez grand :
Sorry, you are not tall enough - Si moins de 15 ans et sans adulte :
Sorry, you need an adult with you - Si moins de 15 ans avec un adulte :
You can ride with adult supervision! - Si 15 ans ou plus et assez grand :
You can ride by yourself!
Aide-mémoire
Vous pouvez imbriquer des instructions if-else les unes dans les autres pour créer des structures de prise de décision hiérarchiques :
if (age > 18) {
if (hasLicense) {
printf("You can drive");
} else {
printf("Get a license first");
}
} else {
printf("Too young to drive");
}L'imbrication peut être faite à l'infini :
if (condition1) {
if (condition2) {
if (condition3) {
// si condition1, condition2 et condition3 sont vraies
}
}
}Essayez vous-même
#include <stdio.h>
int main() {
int age, height;
int hasAdult;
scanf("%d %d %d", &age, &height, &hasAdult); // Ne modifiez pas cette ligne
// Écrivez votre code ci-dessous
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 Fundamentals
4Structures de contrôle
L'instruction IfIf - ElseElse-IfSwitch CaseOpérateur ternaireDéfi récapitulatifIf - Else imbriqués2Variables
Types de donnéesEntiersFloat - DoubleCaractèresBooléensConstantesLes bases de printfRègles de nommage des variablesType Casting Partie 1Type Casting Partie 2Défi récapitulatif3Opérateurs
Opérateurs arithmétiquesOpérateur moduloIncrémentation/DécrémentationOpérateurs d'affectationOpérateurs relationnelsOpérateurs logiques - Partie 1Opérateurs logiques - Partie 2Opérateurs logiques - Partie 3Défi récapitulatif