简体   繁体   English

退出while循环并进入另一个C#

[英]Break out of a while loop and into another c#

I'm a little stuck with my while loops. 我的while循环有点卡住了。 Both parts of the code work perfectly on their own, however, I can't seem to make both of the while loops work. 代码的两个部分都可以完美地独立工作,但是,我似乎无法使while循环都工作。 Would appreciate any help at all: 非常感谢您的帮助:

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

Use while (Quantity <= 100) instead of UserCounter <= 100 . 使用while (Quantity <= 100)代替UserCounter <= 100 This will exit the loop after 10 iterations of printing the price. 这将在打印价格10次迭代后退出循环。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM