欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

假设客车的座位数是9行4列,使用二维数组在控制台应用程序中实现简单的客车售票系统。

程序员文章站 2022-07-09 19:47:18
具体要求为: 使用一个二维数组记录客车售票系统中的所有座位号,并在每个座位号上都显示有票,然后用户输入一个坐标位置,按Enter键,即可将该座位号显示为已售。 首先我定义的输入格式为:1,2 个人认为主要知识点伪代码如下 1.字符串分割 char[] separator = { ',' }; spl ......

具体要求为:

使用一个二维数组记录客车售票系统中的所有座位号,并在每个座位号上都显示有票,然后用户输入一个坐标位置,按enter键,即可将该座位号显示为已售。

首先我定义的输入格式为:1,2

个人认为主要知识点伪代码如下

1.字符串分割

char[] separator = { ',' }; 

  splitstrings = str.split(separator);

2.字符串前后去空

str.trim()

3.转换类型,如果不是int类型则为false,可以处理异常情况。

int columnnum = 0;
bool iscolumn = int.tryparse(column, out columnnum);

 

先创建如下脚本,然后在main函数中直接调用即可。

 1 public class ticketingsystem
 2     {
 3         int[,] seatcount = new int[9, 4];
 4 
 5         public void checkticketcount()
 6         {
 7             bool res = true;
 8             string[] splitstrings = { "row", "col"};
 9             char[] separator = { ',' };
10             while (res)
11             {
12                 console.writeline("请输入座位号:");
13                 string str = console.readline();
14                 splitstrings = str.split(separator);
15                 if (str.trim() == "quit")
16                 {
17                     res = false;
18                     console.writeline("结束购票");
19                     return;
20                 }
21 
22                 if (splitstrings.length < 2)
23                 {
24                     console.writeline("输入的格式不正确");
25                     continue;
26                 }
27                 string row = splitstrings[0].trim();
28                 string column = splitstrings[1].trim();
29 
30                 int rownum = 0;
31                 bool isrow = int.tryparse(row, out rownum);
32                 if (!isrow || rownum >= seatcount.getlength(0))
33                 {
34                     console.writeline("输入的行不正确");
35                     continue;
36                 }
37 
38                 int columnnum = 0;
39                 bool iscolumn = int.tryparse(column, out columnnum);
40                 if (!iscolumn || columnnum >= seatcount.getlength(1))
41                 {
42                     console.writeline("输入的列不正确");
43                     continue;
44                 }
45                 if (seatcount[rownum, columnnum] == 1)
46                 {
47                     console.writeline("该座位已经被购买!");
48                     continue;
49                 }
50                 seatcount[rownum, columnnum] = 1;
51                 console.writeline(rownum + "行" + columnnum + "列车票售出");
52                 bool isemptyseat = false;
53                 for (int i = 0; i < seatcount.getlength(0); i++)
54                 {
55                     for (int j = 0; j < seatcount.getlength(1); j++)
56                     {
57                         if (seatcount[i, j] == 0)
58                         {
59                             isemptyseat = true;
60                             break;
61                         }
62                     }
63                     if (isemptyseat)
64                     {
65                         break;
66                     }
67                 }
68 
69                 if (!isemptyseat)
70                 {
71                     res = false;
72                     console.writeline("车票售完!");
73                     return;
74                 }
75                 console.writeline();
76                 console.writeline();
77             }
78         }
79     }