Chapprend · C#

Chapitre 3 · Conditions et boucles

Répéter un traitement, contrôler une saisie et choisir les instructions à exécuter.

Répéter avec do while

La boucle do … while exécute son bloc une première fois, puis teste la condition. Elle recommence tant que cette condition est vraie. Le point-virgule après while (...) est nécessaire.

string? reponse;
do
{
    Console.WriteLine("Traitement effectué. Recommencer ? (o/n)");
    reponse = Console.ReadLine();
} while (reponse == "o");

Le traitement s’exécute au moins une fois, même si l’utilisateur répond immédiatement « n ».

Contrôler une saisie

Une boucle peut redemander une valeur tant que la conversion échoue ou que la valeur ne respecte pas les limites attendues. Chaque passage doit permettre de modifier les données testées afin d’éviter une répétition infinie.

int age;
string? saisie;
do
{
    Console.WriteLine("Âge entre 0 et 120 ?");
    saisie = Console.ReadLine();
    if (saisie is null) return;
} while (!int.TryParse(saisie, out age) || age < 0 || age > 120);
Console.WriteLine($"Âge retenu : {age}");

Conditionner avec if

if est une instruction conditionnelle, pas une boucle. Elle exécute son bloc si la condition est vraie. else décrit le traitement alternatif. Pour redemander une saisie, il faut ajouter une véritable boucle.

int age = 17;
if (age >= 18)
{
    Console.WriteLine("Majeur");
}
else
{
    Console.WriteLine("Mineur");
}

À retenir : une condition choisit un traitement ; une boucle répète un traitement. On peut combiner les deux dans un même programme.