2016-09-21 2 views
-1

Мне нужна программа для остановки, когда пользователь вводит 209, 312, 414. Мой цикл while не работает, потому что программа продолжается. Я сделал другой путь, но в конце цикл продолжается, и он не останавливается, когда я вхожу 209, 312, 414. Я возьму любое другое предложение.Программа должна останавливаться, когда пользователь вводит 209,312,414

using System; 

     public class program 
     { 
      public static void Main() 
      { 
       const double PRICE209 = 12.99, PRICE312 = 16.77, PRICE414 = 109.07; 

       double price; 
       int stockNum; 

       Console.Write("Please enter stock number. "); 
       stockNum = Convert.ToInt32(Console.ReadLine()); 

       while ((stockNum == 209) || (stockNum == 312) || (stockNum == 414)) 
       { 
        if ((stockNum == 209) || (stockNum == 312) || (stockNum == 414)) 
        { 
         if (stockNum == 209) 
         { 
          price = PRICE209; 
          Console.WriteLine("The price for item # {0} is {1}", stockNum, price.ToString("C")); 
         } 
         else if (stockNum == 312) 
         { 
          price = PRICE312; 
          Console.WriteLine("The price for item # {0} is {1}", stockNum, price.ToString("C")); 
         } 
         else if (stockNum == 414) 
         { 
          price = PRICE414; 
          Console.WriteLine("The price for item # {0} is {1}", stockNum, price.ToString("C")); 
         } // end of the else if statement 
        } // end the if statement 
        Console.Write("Please enter stock number. "); 
        stockNum = Convert.ToInt32(Console.ReadLine()); 
       } // end the while loop 
         Console.WriteLine(); 
         Console.WriteLine("press <enter> to terminate program"); 
         Console.ReadLine(); 
      } 
     } 
+0

положить 'сломать,' 'внутри каждого if' заявление –

+0

Я не понимаю, что вы имеете в виду. Программа, которую вы показываете здесь, выйдет из цикла, как только пользователь вводит любое число, отличное от '209',' 312' или '414'. Если пользователь вводит то, что не является числом, программа просто остановится с исключением. Если вы хотите, чтобы цикл выходил, как только пользователь ввел три разных числа, имеющих значения '209',' 312' и '414', вам просто нужно отслеживать, какие из них были введены (например, в' bool') и включить эту информацию в состояние цикла. Что такое _специфический вопрос? С чем вы столкнулись? –

+1

Какой смысл внешнего блока 'if'? Вы попадете в цикл while только в том случае, если 'StockNum' является одним из этих чисел, поэтому нет никаких оснований проверять' if' это один из этих чисел. –

ответ

0

Изменить ваше время цикла для:

while ((stockNum != 209) && (stockNum != 312) && (stockNum != 414)) 
Смежные вопросы