Menu
CoddyTech

If - Else imbriqués

Fait partie de la section Fondamentaux du Journey C# de Coddy. Leçon 30 sur 69.

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) {
        Console.WriteLine("You can drive");
    } else {
        Console.WriteLine("Get a license first");
    }
} else {
    Console.WriteLine("Too young to drive");
}

On peut imbriquer à l’infini :

if (condition1) {
	if (condition2) {
		if (condition3) {
		    // si condition1, condition2 et condition3 sont vraies
		    ...
		}
	}
}

Sans accolades, un else se rattache au if le plus proche situé au-dessus et qui n'a pas déjà de else :

if (age > 18)
    if (hasLicense)
        Console.WriteLine("You can drive");
    else
        Console.WriteLine("Get a license first");

Ici, le else appartient à if (hasLicense), quelle que soit l'indentation. Utilise des accolades pour clarifier le rattachement.

challenge icon

Défi

Débutant

Crée un programme qui vérifie si une personne peut faire un tour de montagnes russes. Les conditions sont les suivantes :

  • La personne doit avoir au moins 12 ans
  • La personne doit mesurer plus de 150 cm
  • Si elle remplit les deux conditions, mais a moins de 15 ans, elle doit être accompagnée d’un adulte

Définis la variable status avec exactement ces chaînes pour chaque cas :

  • Si la personne est trop jeune : Sorry, you're too young
  • Si elle n’est pas assez grande : Sorry, you're not tall enough
  • Si elle a moins de 15 ans et qu’aucun adulte ne l’accompagne : Sorry, you need an adult with you
  • Si elle a moins de 15 ans et qu’un adulte l’accompagne : You can ride with adult supervision!
  • Si elle a 15 ans ou plus et qu’elle est assez grande : You can ride by yourself!

Essayez vous-même

using System;

class Program {
    public static void Main(string[] args) {
        int age = int.Parse(Console.ReadLine()); // Ne modifiez pas cette ligne
        int height = int.Parse(Console.ReadLine()); // Ne modifiez pas cette ligne
        bool hasAdult = bool.Parse(Console.ReadLine()); // Ne modifiez pas cette ligne

        string status = "";
        
        // Écrivez votre code ci-dessous
        
        
        
        // Ne modifiez rien sous cette ligne
        Console.WriteLine(status);
    }
}
quiz iconTestez-vous

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

Entraînez-vous par vous-même : Compilateur C# en ligne