Menu
CoddyTech

If - Else imbriqués

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

Nous pouvons imbriquer des instructions if-else les unes dans les autres. Cela nous permet de créer des structures décisionnelles 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 les conditions à l’infini :

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

Sans accolades, un else s’associe au if le plus proche situé au-dessus, qui n’a pas encore 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), quel que soit le niveau d’indentation. Utilise des accolades pour clarifier l’association.

challenge icon

Défi

Débutant

Crée un programme qui vérifie si quelqu’un peut monter dans des montagnes russes. Les conditions sont les suivantes :

  • Avoir au moins 12 ans
  • Mesurer plus de 150 cm
  • Si la personne 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 la personne n’est pas assez grande : Sorry, you're not tall enough
  • Si la personne a moins de 15 ans et n’est pas accompagnée d’un adulte : Sorry, you need an adult with you
  • Si la personne a moins de 15 ans et est accompagnée d’un adulte : You can ride with adult supervision!
  • Si la personne a 15 ans ou plus et 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