Bonjour,
c'est tout à fait normal car :
int âge = Console.Read();
lit non seulement que le premier caractère, mais le lit en tant que caractère justement. Du coup il aura sa valeur ASCII décimal, et vu que les nombres vont de 48 a 57, c'est impossible d'être en dessous de 18.
Utilise plutôt ReadLine et convertis toi même le résultat, comme ça tu es sur que tu as ce qu'il te faut :
1 2 3
| string reponse = Console.ReadLine();
int age = Convert.ToInt32(reponse); |
Petit rappel de l'ASCII si tu ne l'as jamais vu :
Partager