Débutant C# -- Problème while

Résolu
mrtbgau -  
 mrtbgau -
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

Dalfab Messages postés 706 Date d'inscription   Statut Membre Dernière intervention   101
 
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());
        }
0
mrtbgau
 
C'est à cause du copier-coller les accolades sont partis mais le problème persiste
0
Dalfab Messages postés 706 Date d'inscription   Statut Membre Dernière intervention   101
 
Et pourtant avec les accolades à la bonne position, ça marche très bien.
0
mrtbgau
 
C 'est de ma faute, mon code marche

Merci de votre réponse
0