数据结构C语言实现高铁客运订票系统

背景:

高铁客运订票系统
功能描述
高铁客运订票的业务活动包括:查询客运线和客票预定的信息、
客票预定和办理退票等。设计一个计算机程序,使上述任务能借助计
算机来完成。
具体要求
1、 系统必须存储的 数据信息
(1)客运线信息(9 个):高铁抵达城市、出发城市、经停站、列车
号、发车时间、票价、总位置和剩余位置、已定票的客户名单。
(2)客户信息(
3 个):客户姓名、证件号、座位号
原来 8 号南
区学生宿舍
楼被删除 2、系统能实现的操作和功能
(1)承办订票业务:
A、基础版:根据客户提出的要求(列车抵达城市、发出时间、订
票数量)查询列车信息(包括票价和余票数量),若满足要求,则为
客户办理订票手续,输出座位号。
B、进阶版:根据客户提出的要求(列车抵达城市、发出时间、订
票数量)查询列车信息(包括票价和余票数量)列表(所有符合要求
的列车可以选择展示的排列方式:按照价格递增/发车时间递增/总时
间递增),客户可以选择座位号,若满足要求,则为客户办理订票手
续,输出座位号。
(2)承办退票业务:
A、基础版:根据客户提供的情况(列车号,订票数量),为客户
办理退票手续。
B、进阶版:根据客户提供的情况(列车号,发车时间,身份证
号,订票数量),为客户办理退票手续。如果订购多张票,可以仅退
部分票。
(3)查询功能:(较高要求)
A、查询客运线信息:根据列车号,输出列车发车站、目的地点、
经停站、经停时间、票价、剩余票数和位置等信息。
B、查询客户预订信息:根据客户证件号,输出上车城市,目的地,
经停站,列车号和座位号等信息。

具体描述:

针对上述的要求,我们选择了最基础的功能进行实践,以最简单的方法来完成勾选的部分。
下面将展示基础界面。

实现:

   

主要代码:

//VX-zew1040994588
void printHead() {
    printf("********************************\n");
    printf("*** 欢迎使用高铁客运订票系统 ***\n");
    printf("********************************\n");
    printf("*       1.添加客运线信息       *\n");
    printf("*       2.查询车次信息         *\n");
    printf("*       3.输出所有车次信息     *\n");
    printf("*       4.查询所有乘客信息     *\n");
    printf("*       5.乘客订票             *\n");
    printf("*       6.乘客退票             *\n");
    printf("*       7.退出系统             *\n");
    printf("********************************\n");

}

//***************************************
int main() {
	srand((unsigned int)time(NULL));//生成座位号的随机数 
    NODE *head;//定义头指针建立表
    int key;
    head = readInfo();
    printHead();
    while (1) {
        printf("请输入数字选择功能>>");
        scanf("%d", &key);
        if (key == 7) break;
        switch (key) {
        case 1:
            while (1)
            //1-添加一个高铁 
                if (add(head) == 0)
				break;
            break;
        case 2:
        	//2-根据条件来查询高铁 
            select(head);
            break;
        case 3:
        	//3-查询所有客运线信息 
            out(head);
            break;
        case 5:
        	//5-乘客订票
			update(head);
            break;
        case 6:
        	//5-乘客退票 
			update1(head);
            break;
        case 4: 
        	//4-查询所有乘客乘客信息--乘客信息写死,都放在一个结构体数组里面
			 int i = 0;
			 for (i; i < 3; i++){
			 	printf("乘客姓名:%s\n",a[i].name);
			 	printf("乘客证件号:%s\n",a[i].number);
			 	//char temp_flag[100] = "1";
			 	if (strcmp(a[i].seat_number,"1") == 0){
			 		printf("该乘客还没有预定座位\n");	
			 	} else {
			 		printf("乘客座位号:%s\n",a[i].seat_number);
			 	}
			 }
			 break;
        }
    }
}

猜你喜欢

转载自blog.csdn.net/Elephantpretty/article/details/125308451