数据结构-航空订票系统.

上传人:最**** 文档编号:116881815 上传时间:2019-11-17 格式:DOC 页数:28 大小:227KB
返回 下载 相关 举报
数据结构-航空订票系统._第1页
第1页 / 共28页
数据结构-航空订票系统._第2页
第2页 / 共28页
数据结构-航空订票系统._第3页
第3页 / 共28页
数据结构-航空订票系统._第4页
第4页 / 共28页
数据结构-航空订票系统._第5页
第5页 / 共28页
点击查看更多>>
资源描述

《数据结构-航空订票系统.》由会员分享,可在线阅读,更多相关《数据结构-航空订票系统.(28页珍藏版)》请在金锄头文库上搜索。

1、宁波大红鹰学院信息工程学院课程设计报告项目名称:航空订票系统项目组长:白钰琦项目成员:徐程凯、徐海域、项鸿伟班级名称:10计科(1)专业名称:计算机科学与技术完成时间:2012/11/1 信息工程学院制目 录一、案例描述- 1 -1、总体描述- 1 -2、模块描述- 1 -二、设计思路- 1 -三、程序设计- 2 -1、数据结构描述- 2 -2、主函数及其流程图- 3 -3、源程序- 5 -四、调试与分析- 21 -1开始运行程序- 21 -五、设计总结- 24 -1、完成情况- 24 -2、心得体会- 24 -一、案例描述随着时代的进步社会分工的不断细化,各个行业联系的不断密切,人们出行越来

2、越多,出行的方式也是百花齐放,作为空中重要的交通工具,飞机航空系统也在不断地得到优化,其中重要的一项就是飞机航空订票系统,因此好的订票系统关系着人们的日常出行方便与否,设计并编制出符合日常使用的航空订票系统是现在迫切需求。1、总体描述本系统是专为乘坐飞机的乘客准备的,乘客只需输入自己的信息(姓名.出航时间.飞往的目的地),就可以将输入的信息在本系统中查询航班信息和订票信息,系统可以自动显示乘客所要查询的信息,如果航班已满系统会提示乘客是否要候补排队。如果有乘客要退票,那系统会从候补排队的乘客中按顺序选出要订票的乘客。本系统有增加航班模块、查找航班模块、订票模块、退票模块等模块。2、模块描述菜单

3、设计:1、航班信息录入:每个航班信息包括航班号、起飞时间、降落时间、起飞地点、降落地点、飞机号、票价等信息。2、查询航线:根据乘客提出的终点站名输出下列信息:航班号、起飞时间、降落时间、起飞地点、降落地点、飞机号、票价、剩余标题等信息,乘客还可以通过剩余票量来确定该航班是否已满。3、办理订票业务:根据乘客提出的要求(航班号、订票数额)查询该航班票额情况,若尚有余票,则为乘客办理订票手续,如果没有系统会给乘客一个预约候补。4、退票业务:根据乘客提供的情况(日期、航班),为乘客退票手续,然后查询该航班是否有人后候排队,首先询问在第一个排队的乘客,若所退票额能满足他的要求,则为他订票手续,否则依次查

4、询其他排队候补乘客。二、设计思路本系统分为4个模块:增加航班模块、查找航班模块、订票模块、退票模块。得到如图所示系统功能模块图。航空订票系统管理员乘客查询航线订票退票查找航线添加航线查看航线乘客管理图 1航空订票系统系统功能模块图三、程序设计1、数据结构描述本程序首先定义了两个结构体作为乘客信息和航班信息的存储媒介,一是乘客信息结构体,定义了姓名,订票数,舱位等级,信息,二是航班信息结构体,定义了学航班终点、航班号、飞机号、飞行日期、总票数、剩余票数、舱位等级。定义如下:乘客信息结构体typedef struct Customerchar Name8; /姓名 Int Amount; /订票数

5、 char Rank; /舱位等级int IDinfor; /信息struct Customer *next;Customer;航班信息结构体typedef struct Flightchar Des_Name10; /航班终点char Flight_No6; /航班号 char Plane_No6; /飞机号 int Week_Day; /飞行日期 int Customer_Amount; /总票数 int Free_Amount; /剩余票数 int Price3; /舱位价格 Customer *Custname; /该航班的已订票乘客名单Customer *Replname; /该航班

6、的候补乘客名单struct Flight *next; /指示下一个航线节点Flight,*PFlight;2、主函数及其流程图登入函数输入用户和密码判断是正确:用户密码正确跳转相应界面结束开始添加航线开始判断航线结点是否为空输入航线信息新建首个航线结束建立航线结点前一个结点指向当前结点订票函数开始判断航线是否为空输入航线号判断航线是否存在输入票数票数够不够输入个人信息结束是否成为候补乘客退票函数开始输入航线号是否存在输入姓名是否存在退票成功结束3、 源程序#include #include #include #include #include #include #define MAX 60#

7、define NULL 0typedef struct Customer /*乘客信息*/ char Name8; /*姓名*/ int Amount; /*定票数*/ char Rank; /*舱位等级*/ int IDinfor; /*个人信息*/ struct Customer *Next; /*指向下一乘客结点*/ int sum; Customer;typedef struct Flight /*航线信息*/ char Des_Name10; /*终点站名*/ char Flight_No6; /*航班号*/ char Plane_No6; /*飞机号*/ int Week_Day;

8、 /*飞行周日*/ int Customer_Amount; /*乘员定额*/ int Free_Amount; /*剩余票数*/ int Price3; /*舱位等级的价格*/ Customer *CustName; /*该航班的已定票乘客名单*/ Customer *ReplName; /*该航班的候补乘客名单*/ struct Flight *Next; /*指示下一航线结点*/Flight,*PFlight;int Customer_Count=0; /*所有航线的定票乘客总数*/Flight *Head; /*航线头指针*/Flight *p2; /*航线结点指针*/Customer

9、 *Custp1MAX; /*各条航线乘客结点指针*/Customer *Replp1MAX; /*各条航线候补结点指针*/int IsEmpty=1; /*是否有定票乘客*/int IsReplace=1; /*是否有候补乘客*/Customer *prior; /*满足要求的定票乘客的前结点,以作删除操作*/int shouldsave=0;/*-询问是否继续的函数-*/char Continue() char answer; while(1) printf(nt 你是否继续(Y/N)?); scanf( %c,&answer); if(answer=y|answer=Y) return

10、y; else if(answer=n|answer=N) return n; else printf(nt输入有误,请重新输入!); /*-操作出错函数-*/void ErrorMess() printf(nt对不起,您的操作有误!);getch();/*-系统退出函数-*/int ExitSystem() char answer; printf(nt 您是否想要退出系统(Y/N)?); scanf(%s,&answer); if(answer=y|answer=Y) return 1; else return 0;/*-航线查找函数-*/int Find_Line(PFlight L,ch

11、ar *key)/*核对航线是否唯一*/ int flag=0; /*该标志位0表示未找到相关信息,反之即找到,以下标志位同理*/ Flight *p1; p1=L; /*赋航线首地址*/ if(p1=p2) /*首航线不作比较*/ return flag; while(p1!=p2&p1!=NULL) /*本航班号不纳入比较范围,否则会一直提示航线不唯一*/ if(strcmp(p1-Flight_No,key)=0) flag=1; break; p1=p1-Next;/*指向下一航班结点*/ return flag;/*航线查找函数*/int Find_Line(PFlight L,char *key,PFlight &p2,int &Flight_No) int flag=0; /*该标志位0表示未找到相关信息,反之即找到*/ Flight *p1; p1=L; /*赋航线首结点*/ while(p1!=NULL) if(strcmp(p1-Flight_No,key)=0)/*不包括当前航线*/ flag=1; p2=p1; break; p1=p1-Next; /*指向下一航班结点*/ if(p1!=NULL) /*遇结束符不作统计范围*/ Flight_No+; return flag;/*-航班查找函数-*/void Line_se

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号