Débutant C# -- Problème while
Résolu
mrtbgau
-
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:
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
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
-
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 tonwhile
s'applique entre{}.while (anneeNaissance > ANNEECOURANTE || anneeNaissance < 1900) { Console.WriteLine("Saisie incorrecte"); anneeNaissance = int.Parse(Console.ReadLine()); } -
-
Et pourtant avec les accolades à la bonne position, ça marche très bien.
-