2008-11-14 8 views
3

Je suis nouveau à C#. Je voulais faire un programme simple avec un certain type de boucles. Je voulais que mon programme en boucle à travers les chiffres que l'utilisateur saisit et si elle est inférieure à un certain nombre puis écrire garder deviner, mais une fois qu'ils entrent dans le numéro 25 que je le voulais dire Joyeux Noël .. S'il vous plaît AideC#: essayer un projet simple

int number; 

do 
{ 
    Console.WriteLine("Guess a number between 20 through 25"); 
    number = int.Parse(Console.ReadLine()); 
} while (number < 25); 

C# Débutant

+0

Pour votre information: Console.ReadLine() va demander à l'utilisateur d'entrer une séquence de chiffres et la clé . – kenny

Répondre

1
int number; 

do 
{ 
    Console.WriteLine("Guess a number between 20 through 25"); 
    number = int.Parse(Console.ReadLine()); 
} while (number < 25); 

if (number == 25) 
    Console.WriteLine("Merry Christmas"); 
+0

Et s'ils entrent dans 26? La boucle va sortir sur les valeurs supérieures à 25 et il y a toujours le problème de savoir si l'utilisateur ne saisit rien? –

+0

Ce n'est pas mon travail de coder et de déboguer ... –

6

Effectuez les actions suivantes:

int number = 0; 
while (number != 25) 
{ 
    Console.WriteLine("Guess a number between 20 through 25"); 
    number = int.Parse(Console.ReadLine()); 
    if (number != 25) 
     Console.WriteLine("Keep guessing"); 
    else 
     Console.WriteLine("Merry Christmas"); 
} 
0
int number; 

do 
{ 
    Console.WriteLine("Guess a number between 20 through 25"); 
    number = int.Parse(Console.ReadLine()); 
} while (number != 25); 

Console.WriteLine("Merry Christmas"); 

serait correct si vous voulez être en mesure de saisir des chiffres supérieurs à 25.

2

Je ne sais pas ce que votre question est, mais j'ai deux ou trois commentaires:

  1. Une exception sera levée si l'utilisateur entre quelque chose qui ne peut pas être analysé comme un int. Corrigez cela en utilisant TryParse.

  2. Comme écrit, la boucle quittera si l'utilisateur entre un nombre supérieur à 25, tels que 26.

Code modifié:

int number; 
do 
{ 
    Console.WriteLine("Guess a number between 20 through 25"); 
    int.TryParse(Console.ReadLine(), out number); 
} while (number != 25); 
2

Si vous n'êtes jamais allez utiliser la saisie en tant que nombre, il est plus sûr de simplement laisser une chaîne, expecialy puisque vous vérifiez seulement "25" exactement. De plus, ajouter un moyen de quitter sans entrer 25 serait bien pour l'utilisateur, comme entrer une ligne blanche par exemple.

Voici comment j'écrire:

static void x() 
    { 
     Console.WriteLine("Guess a number between 20 through 25"); 
     string input = null; 
     while(true) 
     { 
      input = Console.ReadLine(); 
      if (input == null || input.Length == 0) 
       break; // will exit the loop 
      if (input != "25") 
       Console.WriteLine("Keep guessing"); 
      else 
      { 
       Console.WriteLine("Merry Christmas"); 
       break; 
      } 
     } 
    } 
0
 int myNumber; 

     Guess: Console.Write("Guess a number between 20 through 25: "); 
     myNumber = int.Parse(Console.ReadLine()); 

      while(myNumber != 25) 
      { 
       Console.WriteLine("Keep Guessing"); 
       goto Guess; 
      } 
      Console.Write("Merry Christmas"); 

     Console.ReadKey(); 
Questions connexes