所以我的程序要运行无限次,直到用户输入-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);
}
}
}
}
答案 0 :(得分:1)
截至Console.Read
的文档:
从标准输入流中读取下一个字符。
该方法只读取一个字符。要阅读整行,请改用ReadLine
:
int hours;
if(int.TryParse(Console.ReadLine(), out hours) && hours == -999)
break;