Débutant C# -- Problème while

Résolu
Bonjour,

Voici l'énoncé de mon exercice :

Rédiger un programme qui donne l'âge de l'utilisateur en fonction de son année de naissance.

Si l'année de naissance de l'utilisateur est incohérente (négatif ou impossible), le programme lui demande d'entrer une nouvelle année de naissance plausible. Lorsque l'année de naissance saisie est possible, l'âge est affiché.

Voici mon code:


//Constante
            const int ANNEECOURANTE = 2021;

//Variables
            int age, anneeNaissance;

//Début
            Console.WriteLine("Saississez votre année de naissance:");
            anneeNaissance = int.Parse(Console.ReadLine());

            while (anneeNaissance > ANNEECOURANTE || anneeNaissance < 1900)
                Console.WriteLine("Saisie incorrecte");
                anneeNaissance = int.Parse(Console.ReadLine());

            age = ANNEECOURANTE - anneeNaissance;

            Console.WriteLine("------------------------------------------");
            Console.WriteLine("Votre age est " + age + " ans");

//Fin


Lorsque je l'éxécute et j'entre une année de naissance incorrecte en, la console m'affiche indéfiniment "Saisie incorrecte".

Merci de votre réponse

4 réponses

  1. Et pourtant avec les accolades à la bonne position, ça marche très bien.
    1. C'est à cause du copier-coller les accolades sont partis mais le problème persiste
      1. Bonjour,

        Tu as dû apprendre Python avant le C#. L'indentation n'est là que pour la lisibilité en C#.
        Il te faut mettre les 2 lignes auquel ton
        while
        s'applique entre
        {}
        .
                while (anneeNaissance > ANNEECOURANTE || anneeNaissance < 1900)
                {
                        Console.WriteLine("Saisie incorrecte");
                        anneeNaissance = int.Parse(Console.ReadLine());
                }