2008-11-14 2 views
3

Я новичок в C#. Я хотел сделать простую программу с некоторыми типами циклов. Я хотел, чтобы моя программа в цикле по номерам, которые пользователь вводит, и если оно меньше, чем число, то писать держать гадать, но как только они входят в число 25 я хотел сказать Рождеством .. Пожалуйста, помогитеC#: попытка простого проекта

int number; 

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

C# для начинающих

+0

FYI: Console.ReadLine() потребует от пользователя ввести последовательность цифр и ключ . – kenny 2008-11-14 19:20:33

ответ

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

Что делать, если они вводят 26? Цикл выйдет из значений более 25, и все еще возникает вопрос, что, если пользователь ничего не вводит? – 2008-11-21 20:41:05

6

Попробуйте следующее:

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"); 

Было бы правильно, если вы хотите, чтобы иметь возможность вводить цифры выше, чем 25.

2

Я не уверен, что ваш вопрос, но у меня есть несколько замечаний:

  1. An исключение будет выбрано, если пользователь вводит то, что не может быть проанализировано как int. Исправьте это, используя TryParse.

  2. Как написано, цикл будет выйти, если пользователь вводит число больше 25, например, 26.

Модифицированный код:

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

Если вы не собираетесь использовать ввод как число, безопаснее просто оставить строку, expecialy, так как вы только проверяете «25» точно. Кроме того, добавление способа выхода без ввода 25 было бы приятным для пользователя, например, для ввода пустой строки.

Вот как я бы писать:

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(); 
Смежные вопросы