好的,我被要求为剧院票务系统编写一个控制台应用程序。用户将输入所需的座位数,以及所选剧院的面积(使用代码1-4表示所选座位区)。程序应根据定价制定并显示门票价格如下所示的计划
Area Code price
Stalls 1 £24
Grand circle 2 £30
Upper circle 3 £27
Gallery 4 £20
到目前为止,我已经提出了以下建议,但是IF语句部分下的字符串+ Int转换存在错误,这可能很容易解决,但是我是编程新手,所以我不确定如何解决它:
//Declare variables and constants
int iSeatNum;
int iArea;
int iCost;
int iTotalCost;
//Ask the user how many seats they require
Console.WriteLine("How many seats would you like to purchase?");
iSeatNum = Convert.ToInt32(Console.ReadLine());
//Ask the user what area they would like to be in
Console.WriteLine("Where would you like to sit? Please enter 1 for Stalls, 2 for Grand Circle, 3 for Upper Circle or 4 for Gallery");
iArea = Convert.ToInt32(Console.ReadLine());
**if (iArea = "1")**
{
iCost = 24;
}
//Clarify information & work out
Console.WriteLine("You are buying " + iSeatNum + " Seats at " + iArea);
iTotalCost = iSeatNum * iCost;
Console.WriteLine("Your total ticket cost is " + iTotalCost);
//Prevent from closing
Console.WriteLine("Press any key to close");
Console.ReadKey();
if (iArea = "1")
iArea
是整数,"1"
是字符串。因此,您无法将两者进行比较。您应该1
改为与整数进行比较。另请注意,单个等于符号(=
)是赋值,而不是比较。您将要在其中使用两个:==
if (iArea == 1)
现在,它显示了另一个错误,当我提出
iTotalCost = iSeatNum * iCost;
该错误时,出现了“使用未分配的局部变量iCost”的错误。我知道如何解决此问题吗?
问题是您在开始时声明了该变量iCost
,但是在使用它之前永远不要安全地为其分配任何值。您确实会在iArea
等于时分配一个值1
,但在所有其他情况下,该变量仍未初始化。当然,编译器并不知道您最终将在1
程序运行以进行测试时键入内容,这也不是一件安全的事情。因此,它需要您使用任何内容来初始化变量。
因此,一开始,您只能说int iCost = 0;
要解决此问题。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句