问题描述:
航空客运订票的业务活动包括:查询航线、客票预定和办理退票等。试设计一个航空课余订票系统,以使上述业务可以借助计算机来实现。
基本要求:
(1) 每条航线所涉及的信息有:终点站、航班号、飞机号、飞行周日(星期几)、乘员定额、余票量、已订票的客户名单(包括姓名、订票量、舱位等级1、2或3)以及等候替补的客户名单(包括姓名、所需票量);
(2) 作为示意系统,全部数据可以只放在内存中;
(3) 系统能实现的操作和功能如下:
1、查询航班:根据旅客提出的终点站名输出下列信息:航班号、飞机号、星期几飞行,最近一天航班的日期和余票额;
2、承办订票业务:根据旅客提出的要求(航班号、订票数额)查询该航班票额情况,若尚有余票,则为客户办理订票手续,输出座位号;若已满员或余票少于订票额,则重新询问客户要求。若需要,可登记排队候补;
3、承办退票业务:根据客户提供的情况(日期、航班),为客户办理退票手续,然后查询该航班是否有人排队候补,首先询问排在第一的客户,若所退票额能满足他的要求,则为他办理订票手续,否则依次询问其他候补的客户。
测试数据:
自定
实现提示:
两个客户名单可分别由线性表和队列实现。为查找方便,已订票客户的线性表应按客户姓名有序,并且,为插入和删除方便,应以链表做存储结构。由于预约人数无法预计,队列也应该以链表做存储结构。整个系统需汇总各条航线的情况登录在一张线性表上,由于航线基本不变,可采用顺序存储结构,并按航班有序或按终点站有序。每条航线是这张表上的一个记录,包含上述8个域,其中乘员名单作为指向乘员名单链表的头指针,等候替补的客户名单域为分别指向队头和队尾的指针。
--------------------next---------------------
阅读(1380) | 评论(0) | 转发(0) |