虽然循环重复

时间:2018-05-09 13:19:21

标签: c# loops while-loop

所以我的程序要运行无限次,直到用户输入-999。使用此当前设置,当输入任何数字时,它会发出所有文本,并忽略所输入的任何内容。

    static void Main(string[] args)
    {
        //Local Variable Declaration//

        const double rate1 = 10;
        const double rate2 = 3;
        const double maxCharge = 50;
        double charge;
        int hoursRented;


        while (true)
        {
            Console.WriteLine("Enter number of hours (-999 to quit) : ");
            hoursRented = Console.Read();
            if (hoursRented == -999)
                break;

            else

                if (hoursRented <= 3)
            {
                charge = hoursRented * rate1;
            }
            else
            {
                charge = (3 * rate1) + ((hoursRented - 3) * rate2);
            }

            if (charge > maxCharge)
            {
                charge = maxCharge;
            }

            Console.WriteLine("Are you a member? (Y/N) : ");
            string memberStatus = Console.ReadLine();
            string upperstring = memberStatus.ToUpper();
            if (memberStatus.Equals("Y"))
            {
                charge = charge - (charge * 1 / 10);
            }

            double TotalCharge = +charge;

            Console.WriteLine("Customer Charge : {0}   Total Charge To Date {1} :  ", charge, TotalCharge);
        }
    }
}

}

1 个答案:

答案 0 :(得分:1)

截至Console.Read的文档:

  

从标准输入流中读取下一个字符。

该方法只读取一个字符。要阅读整行,请改用ReadLine

int hours;
if(int.TryParse(Console.ReadLine(), out hours) && hours == -999)
    break;       
相关问题