欢迎来到天天文库
浏览记录
ID:6772883
大小:43.00 KB
页数:17页
时间:2018-01-25
《数据结构课程设计论文1528》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、数据结构课程设计论文152823、书到用时方恨少,事非经过不知难——陆游 数据结构课程设计论文 计算机科学与技术专业(2)班36号杨晓光 航空客运订票系统1、问题描述 航空客运订票的业务活动包括:查询航线、客票预订和办理退票等设计一个航空客运订票系统,以使上述业务可以借助计算机完成 功能如下:a.查询航线:用户给出终点站名,系统输出航班班次、飞机号、时间及多余票额;b.承办订票业务;c.退票业务 2、需求分析1)每条航线所涉及的信息有:终点站名、航班号、飞机号、飞行周日(星期几)、乘员定
2、额、余票量、已订票的客户名单(包括名字、订票量、舱位等级1、2、3)以及等候替补的客户名单;2)客户通过计算机进行订票时,先在终端输入终点站,执行查找操作,会出现 两种情况,一种是余票量为零,这时可询问客户是否要求候补,如要,则在 候补名单中增加一个客户名单,由客户输入自己的相关信息,否,则退出; 另一种是还有余票,客户应输入自己的名字,订票量和舱位等级,此时, 变量都会发生相应的变化操作完毕后,退出 3)退票时,根据客户提供的情况(日期、航班),为客户办理退票手续,然后查 询该航班是否有人候
3、补,首先询问排在第一位的客户,若退票能满足他的要求 ,则为他办理订票手续,否则依次询问其他排队候补的客户,并让队头出队, 再入队成为队尾如果退票不满足所有候补乘客的要求,则退出,同时,该航班的余票额发生变化 3假设分析 假设某小型航空公司开设了5条直达航线,每条航线的信息分为可变的和不可变的,其中定量有终点站站名、航班号、飞机号、飞行周日和乘员定额(分别为一等舱、二等舱、三等舱),变量则有余票量(分别为一等舱、二等舱、三等舱)、已订票的乘客名单(名字、订票量、等级)和候补乘客
4、当用户输入终点站时,系统进行查找,成功则输入相关信息,不成功则请再输入一次当用户进行订票或退票时,定量不变,系统对变量进行修改,操作成功后退出系统,否则,请用户再输入一次4数据流程图 五模块的划分由于订票系统涉及到三个基本操作,再加上数据的输入,可以将整个系统划分为四个模块,分别为数据的输入和保存,查询航线,订票以及退票在数据的输入和保存这个模块中,数据需要保存在一个文件里面,在查询、订票和退票模块中,对文件里的数据进行调用和处理,但文件里的数据保持不变在退票模块中,要考虑是否有候补乘客,如果有并且退
5、票满足他的要求,则要调用订票模块,进行订票操作 数据的输入和保存输入终点站,飞机号,航班号时间,票额 查询 订票退票七算法1)定义 #defineMAX5#defineN10#defineM10#defineOK1#defineERROR0#include#includetypedefintstatus;structseat{intfrist;intsecond;intthird;};//票的定义,分为一等、二等、三等structElemType{charname;
6、seatticket;};//ElemTypetypedefstructLNode{charname;seatticket;structLNode*next;}LNode,*passenger;typedefstructWQueue{passengerfront;passengerrear;};//WQueue,候补队列;typedefstructAL{charEPlace;//终点站intFNo;//航班号intPNo;//飞机号intTime;//时间seatTicket;//总票量,用结构体seatpas
7、sengerBPassenger;//已经订票的乘客,next存放已经订票的乘客链表的表地址seatRTicket;//剩余的票额passengerwait;//候补队列,next存放队头地址}AL,Airline[MAX];2)链表和队列的基本操作statusInitlink(passenger&Pa){Pa=(passenger)malloc(sizeof(LNode));if(!Pa)returnERROR;Pa->name=0;Pa->ticket.frist=0;Pa->ticket.second=0
8、;Pa->ticket.third=0;Pa->next=NULL;returnOK;}//Initlink,建立乘客链表statusInitQueue(WQueueQ){Q.front=Q.rear=(passenger)malloc(sizeof(LNode));if(!Q.front)returnERROR;Q.front->next=NULL;returnOK;}//InitQ
此文档下载收益归作者所有