使用c#预订飞机座位
本文关键字:飞机 使用 | 更新日期: 2023-09-27 18:16:59
我偶然发现了一个用c++编写的在线(使用控制台)座位预订系统的源代码。该程序允许人们在飞机上选择头等舱,商务舱和经济舱,选择排,最后选择座位。我一直试图重写相同的代码,但在c#但遇到错误,下面是代码:
static void Main(string[] args)
{
int[,] airplane = new int[13, 6];
sbyte[,] airchar = new sbyte[13, 6];
string ticket;
int[] row = new int[2];
//--------------------------------------------
for (int i = 0; i < 13; i++)
{
for (int j = 0; j < 6; j++)
{
airchar[i, j] = (sbyte)'*';
airplane[i, j] = 0;
}
}
//--------------------------------------------
for (;;)
{
Console.Write("Rows 1 and 2 are first class (FC)");
Console.Write("'n");
Console.Write("Rows 3 through 7 are business class (BC)");
Console.Write("'n");
Console.Write("Rows 8 through 13 are economy class (EC)");
Console.Write("'n");
Console.Write("'n");
Console.Write("* - Available");
Console.Write("'n");
Console.Write("X - Occupied");
Console.Write("'n");
Console.Write("'n");
Console.Write(" 'tA'tB'tC'tD'tE'tF");
Console.Write("'n");
Console.Write("Row 1't");
Console.Write(airchar[0, 0]);
Console.Write("'t");
Console.Write(airchar[0, 1]);
Console.Write("'t");
Console.Write(airchar[0, 2]);
Console.Write("'t");
Console.Write(airchar[0, 3]);
Console.Write("'t");
Console.Write(airchar[0, 4]);
Console.Write("'t");
Console.Write(airchar[0, 5]);
Console.Write("'n");
Console.Write("Row 2't");
Console.Write(airchar[1, 0]);
Console.Write("'t");
Console.Write(airchar[1, 1]);
Console.Write("'t");
Console.Write(airchar[1, 2]);
Console.Write("'t");
Console.Write(airchar[1, 3]);
Console.Write("'t");
Console.Write(airchar[1, 4]);
Console.Write("'t");
Console.Write(airchar[1, 5]);
Console.Write("'n");
Console.Write("Row 3't");
Console.Write(airchar[2, 0]);
Console.Write("'t");
Console.Write(airchar[2, 1]);
Console.Write("'t");
Console.Write(airchar[2, 2]);
Console.Write("'t");
Console.Write(airchar[2, 3]);
Console.Write("'t");
Console.Write(airchar[2, 4]);
Console.Write("'t");
Console.Write(airchar[2, 5]);
Console.Write("'n");
Console.Write("Row 4't");
Console.Write(airchar[3, 0]);
Console.Write("'t");
Console.Write(airchar[3, 1]);
Console.Write("'t");
Console.Write(airchar[3, 2]);
Console.Write("'t");
Console.Write(airchar[3, 3]);
Console.Write("'t");
Console.Write(airchar[3, 4]);
Console.Write("'t");
Console.Write(airchar[3, 5]);
Console.Write("'n");
Console.Write("Row 5't");
Console.Write(airchar[4, 0]);
Console.Write("'t");
Console.Write(airchar[4, 1]);
Console.Write("'t");
Console.Write(airchar[4, 2]);
Console.Write("'t");
Console.Write(airchar[4, 3]);
Console.Write("'t");
Console.Write(airchar[4, 4]);
Console.Write("'t");
Console.Write(airchar[4, 5]);
Console.Write("'n");
Console.Write("Row 6't");
Console.Write(airchar[5, 0]);
Console.Write("'t");
Console.Write(airchar[5, 1]);
Console.Write("'t");
Console.Write(airchar[5, 2]);
Console.Write("'t");
Console.Write(airchar[5, 3]);
Console.Write("'t");
Console.Write(airchar[5, 4]);
Console.Write("'t");
Console.Write(airchar[5, 5]);
Console.Write("'n");
Console.Write("Row 7't");
Console.Write(airchar[6, 0]);
Console.Write("'t");
Console.Write(airchar[6, 1]);
Console.Write("'t");
Console.Write(airchar[6, 2]);
Console.Write("'t");
Console.Write(airchar[6, 3]);
Console.Write("'t");
Console.Write(airchar[6, 4]);
Console.Write("'t");
Console.Write(airchar[6, 5]);
Console.Write("'n");
Console.Write("Row 8't");
Console.Write(airchar[7, 0]);
Console.Write("'t");
Console.Write(airchar[7, 1]);
Console.Write("'t");
Console.Write(airchar[7, 2]);
Console.Write("'t");
Console.Write(airchar[7, 3]);
Console.Write("'t");
Console.Write(airchar[7, 4]);
Console.Write("'t");
Console.Write(airchar[7, 5]);
Console.Write("'n");
Console.Write("Row 9't");
Console.Write(airchar[8, 0]);
Console.Write("'t");
Console.Write(airchar[8, 1]);
Console.Write("'t");
Console.Write(airchar[8, 2]);
Console.Write("'t");
Console.Write(airchar[8, 3]);
Console.Write("'t");
Console.Write(airchar[8, 4]);
Console.Write("'t");
Console.Write(airchar[8, 5]);
Console.Write("'n");
Console.Write("Row 10't");
Console.Write(airchar[9, 0]);
Console.Write("'t");
Console.Write(airchar[9, 1]);
Console.Write("'t");
Console.Write(airchar[9, 2]);
Console.Write("'t");
Console.Write(airchar[9, 3]);
Console.Write("'t");
Console.Write(airchar[9, 4]);
Console.Write("'t");
Console.Write(airchar[9, 5]);
Console.Write("'n");
Console.Write("Row 11't");
Console.Write(airchar[10, 0]);
Console.Write("'t");
Console.Write(airchar[10, 1]);
Console.Write("'t");
Console.Write(airchar[10, 2]);
Console.Write("'t");
Console.Write(airchar[10, 3]);
Console.Write("'t");
Console.Write(airchar[10, 4]);
Console.Write("'t");
Console.Write(airchar[10, 5]);
Console.Write("'n");
Console.Write("Row 12't");
Console.Write(airchar[11, 0]);
Console.Write("'t");
Console.Write(airchar[11, 1]);
Console.Write("'t");
Console.Write(airchar[11, 2]);
Console.Write("'t");
Console.Write(airchar[11, 3]);
Console.Write("'t");
Console.Write(airchar[11, 4]);
Console.Write("'t");
Console.Write(airchar[11, 5]);
Console.Write("'n");
Console.Write("Row 13't");
Console.Write(airchar[12, 0]);
Console.Write("'t");
Console.Write(airchar[12, 1]);
Console.Write("'t");
Console.Write(airchar[12, 2]);
Console.Write("'t");
Console.Write(airchar[12, 3]);
Console.Write("'t");
Console.Write(airchar[12, 4]);
Console.Write("'t");
Console.Write(airchar[12, 5]);
Console.Write("'n");
Console.Write("'n");
//问题从这里开始
Console.Write("Enter Ticket type (FC, BC, or EC): ");
ticket = ConsoleInput.ReadToWhiteSpace(true);
Console.Write("Desired Row: ");
row[0] = ConsoleInput.ReadToWhiteSpace(true);
Console.Write("Desired seat (A,B,C,D,E or F): ");
seat = ConsoleInput.ReadToWhiteSpace(true);
switch (seat)
{
case 'A':
case 'a':
row[0] = row[0] - 1;
row[1] = 1;
row[1] = row[1] - 1;
break;
case 'B':
case 'b':
row[0] = row[0] - 1;
row[1] = 2;
row[1] = row[1] - 1;
break;
case 'C':
case 'c':
row[0] = row[0] - 1;
row[1] = 3;
row[1] = row[1] - 1;
break;
case 'D':
case 'd':
row[0] = row[0] - 1;
row[1] = 4;
row[1] = row[1] - 1;
break;
case 'E':
case 'e':
row[0] = row[0] - 1;
row[1] = 5;
row[1] = row[1] - 1;
break;
case 'F':
case 'f':
row[0] = row[0] - 1;
row[1] = 6;
row[1] = row[1] - 1;
break;
}
语法错误出现在ConsoleInput.ReadToWhiteSpace(true);对于ticket, row[0]和seat。发生的另一个错误是在switch语句中,所有情况都突出显示,并且状态为"不能隐式地将类型'char'转换为'sbyte'。""
如果有人能帮我做这件事,我将非常感激。谢谢你!在交换机中,您有座位,这是sbyte,在您的case字符。因此,将case中的每个字符转换为sbyte
或return
char
方法中的ReadToWhiteSpace
。
你可以使用Console.ReadLine()
或Console.Read()
(给出ASCII值)代替ConsoleInput.ReadToWhiteSpace
从控制台获得输入。