我的程序应该计算每加仑行程里程。虽然循环没有退出
该程序运行良好,直到我尝试退出,当我在循环内。当用户在三个输入中的任何一点输入“quit”但它只是进入下一个输入时应该退出。即使我在所有三个输入中都输入了quit,它只会崩溃。
事情我已经尝试:
- 所有输入三个输入
- 退出仅使用1条件的循环,而不是三个
- 把strBeginningOdometerReading.ToUpper()= 1-10000000 !
- 更改所有的||到& &
- 更改退出到一个字符串变量
using System;
namespace MPG
{
class Program
{
static void Main()
{
//Declare the variables
string strBeginningOdometerReading, strEndingOdometerReading, strNumberOfGallons;
double dblBeginningOdometerReading, dblEndingOdometerReading, dblNumberOfGallons, dblMilesPerGallon, dblMilesTravelled;
//Priming prompt & read
Console.Write("Enter the beginning odometer reading: ");
strBeginningOdometerReading = Console.ReadLine();
Console.Write("Enter the ending odometer reading: ");
strEndingOdometerReading = Console.ReadLine();
Console.Write("Enter the number of gallons purchased for six fill-ups during the trip.");
strNumberOfGallons = Console.ReadLine();
//Convert
dblBeginningOdometerReading = Convert.ToDouble(strBeginningOdometerReading);
dblEndingOdometerReading = Convert.ToDouble(strEndingOdometerReading);
dblNumberOfGallons = Convert.ToDouble(strNumberOfGallons);
//Calculations
dblMilesTravelled = dblEndingOdometerReading - dblBeginningOdometerReading;
dblMilesPerGallon = dblMilesTravelled/dblNumberOfGallons;
//Display
Console.WriteLine("Miles Travelled: \t\t\t {0:n2} miles", dblMilesTravelled);
Console.WriteLine("Number of Gallons Purchased for 6 fill-ups: {0:n2} gallons", dblNumberOfGallons);
Console.WriteLine("Miles per Gallon (MPG): \t\t\t {0:n2} mpg", dblMilesPerGallon);
//While loop
while (strBeginningOdometerReading.ToUpper() != "QUIT" || strEndingOdometerReading.ToUpper() != "QUIT" || strNumberOfGallons.ToUpper() != "QUIT")
{
Console.WriteLine("Enter QUIT at any time to exit.");
Console.Write("Enter the beginning odometer reading: ");
strBeginningOdometerReading = Console.ReadLine();
Console.Write("Enter the ending odometer reading: ");
strEndingOdometerReading = Console.ReadLine();
Console.Write("Enter the number of gallons purchased for six fill-ups during the trip: ");
strNumberOfGallons = Console.ReadLine();
//Convert
dblBeginningOdometerReading = Convert.ToDouble(strBeginningOdometerReading);
dblEndingOdometerReading = Convert.ToDouble(strEndingOdometerReading);
dblNumberOfGallons = Convert.ToDouble(strNumberOfGallons);
//Calculations
dblMilesTravelled = dblEndingOdometerReading - dblBeginningOdometerReading;
dblMilesPerGallon = dblMilesTravelled/dblNumberOfGallons;
//Display
Console.WriteLine("Miles Travelled: \t\t\t {0:n2} miles", dblMilesTravelled);
Console.WriteLine("Number of Gallons Purchased for 6 fill-ups: {0:n2} gallons", dblNumberOfGallons);
Console.WriteLine("Miles per Gallon (MPG): \t\t\t {0:n2} mpg", dblMilesPerGallon);
} // end while
} //end Main
} //end class
} //end namespace
感谢所有帮助每个人! – Ryker