2016-09-21 50 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'變量)並在你的循環條件中包含這些信息。這裏有什麼_specific_問題?你有什麼麻煩? –

+1

外部'if'塊有什麼意義?如果'stockNum'是這些數字中的一個,那麼你只會在'while'循環中結束,所以沒有理由測試'if'是否也是這些數字之一。 –

回答

0

更改您while循環:

while ((stockNum != 209) && (stockNum != 312) && (stockNum != 414)) 
相關問題