解决编一个“售票处的服务系统”程序的问题
【问题描述】:设民航售票处的计算机系统可以为客户提供下列各项服务:
1.查询航线:根据旅客提供的日期和终点站名输出下列信息:航班号,飞机型号,机票价格、余票额;
2.承办订票业务:根据客户提出的要求(航班号,订票数额)查询该航班的票额情况,若上有余票,则为客户办理订票手续,输出座位号;若已满员或余票额少于订票额,则需讯问客户要求。若需要,可预约登记排队等候;
3.承办退票业务:根据客户提供的情况(日期,航班),为客户办理退票手续,然后查询该航班是否有人预约登记,首先询问排在第一的客户,若所退票额能满足他的要求,则为他办理订票手续,否则依次询问其他排队预约的客户。
【基本要求】:
编制便于人机对话的程序,实现上述服务项目。
【测试数据】:
由学生自定。(测试数据应完善,能充分测试系统功能)
【实现提示】:
1.每条航线应包含的信息有:终点站名,航班号,飞机型号,飞行日期,成员定额,余票额,已订票的客户名单(包括姓名,订票额,座位号)和预约登记的客户名单(包括姓名,所需票额)。
2.这最后两项显然是一个线性表和一个列队,并且,为插入和删除方便,应以链表作存储结构。由于预约人数无法预计,队列也应以链表作存储结构。整个系统需汇总各条航线的情况登陆在一张线性表上。
3.由于航线基本不变,可采用顺序存储结构,并按航班有序或按终点站名有序,每条航线是这张表上的一个记录,包含上述八个域,其中乘员名单域为指向乘员名单链表的头指针,预约登记客户名单域为分别指向队头和队尾的指针。