2015-10-19 32 views
1

我有點卡住我的while循環。代碼的兩個部分都可以完全自行工作,但是,我似乎無法使這兩個while循環都起作用。希望得到任何幫助都:打破了一段時間的循環,並進入另一個C#

using System; 
namespace week5task3 { 
    class Program { 
     public static void Main(string[] args) 

     { 
      double PriceEvery1 = 5; 
      double PriceEvery2 = 4; 
      double PriceEvery3 = 2.5; 
      double Quantity = 10; 
      int UserCounter = 0; 

      Console.WriteLine("\n\nWidget Price Chart\n\n"); 
      Console.WriteLine("Quantity of Widgets\t\tPrice"); 

      while (UserCounter <= 100) { 
       double Price1 = PriceEvery1 * Quantity; 
       double Price2 = PriceEvery2 * Quantity; 
       double Price3 = PriceEvery3 * Quantity; 

       if (Quantity <= 50) { 
        Console.WriteLine("\t{0}\t\t\t{1:C}", Quantity, Price1); 
       } 

       if (Quantity >= 51 && Quantity <= 80) { 
        Console.WriteLine("\t{0}\t\t\t{1:C}", Quantity, Price2); 
       } 

       if (Quantity >= 81 && Quantity <= 100) { 
        Console.WriteLine("\t{0}\t\t\t{1:C}", Quantity, Price3); 
       } 
       Quantity += 10; 
      } 

      while (UserCounter >= 0) { 
       try { 
        Console.WriteLine("Enter the amount of widgets you would like to purchase or press q to quit"); 
        string temp = Console.ReadLine(); 
        if (temp == "q") break; 
        if (temp == "Q") break; 

        int.TryParse(temp, out UserCounter); 

        double UserPrice; 

        if (UserCounter <= 50) { 
         UserPrice = UserCounter * 5; 
         Console.WriteLine("The price is {0:C}", UserPrice); 
        } 

        if (UserCounter >= 51 && UserCounter <= 80) { 
         UserPrice = UserCounter * 4; 
         Console.WriteLine("The price is {0:C}", UserPrice); 
        } 

        if (UserCounter > 80) { 
         UserPrice = UserCounter * 2.5; 
         Console.WriteLine("The price is {0:C}", UserPrice); 
        } 


       } catch (Exception) { 
        Console.WriteLine("You have entered an incorrect value. Please enter a number or press q to quit"); 
       } 
      } 
     } 
    } 
} 
+1

你永遠不會增加'UserCounter'或突破第一個循環,所以它永遠不會結束。 – Cyral

+0

感謝您的迴應!我已經試圖破門而入;並繼續,但都沒有成功...... –

+0

也許你的意思是'while(Quantity <= 100)'?請記住,我不知道你真的想要發生什麼,所以你需要解釋你的應用程序應該做什麼。 – Cyral

回答

2

使用while (Quantity <= 100),而不是UserCounter <= 100。這將在打印價格的10次迭代後退出循環。