飞机订票系统

2019-08-03 13:54

飞机订票系统 第1页 共30页

飞机订票系统

学生姓名:兰海军 指导老师:易禹

摘 要 本系统主要是为了方便用户飞机订票,能使用户方便快捷的了解各航线信息。本系统设置了航线创建功能、浏览航班信息和查询航线信息功能、订票退票功能及查看剩余票数功能。在该系统当中,系统开发平台是Windows XP,程序设计设计语言采用Visual C++,数据库采用Microsoft Access,程序运行平台为Windows XP。程序通过调试运行,初步实现了设计目标,并且经过适当完善后,将可以在应用中解决实际问题。

关键词 Access;Visual C++;飞机订票

目录

1问题描述与分析...................................... 2 2数据结构设计描述 .................................... 3 3软件结构设计(系统功能模块图) ....................... 3 4算法设计思想 ....................................... 3 5调试分析 ........................................... 6 6总结 .............................................. 12 7参考文献 .......................................... 13 8附录(源程序清单) ................................. 14

飞机订票系统 第 2 页 共 30 页

1问题描述与分析

飞机订票系统要求可以实现如下功能:可以录入航班情况,可以查询某个航线的情况,如输入飞机到达城市,查询飞机航班情况;可以订票、退票。从问题的描述分析,该飞机定票系统必须具备以下几个功能模块:

1) 航线创建功能模块:包括终点站名、航班号、分机号、飞行日期、乘员定额、及余票量,准载人数等信息.。

2) 浏览航班信息功能模块:查看创建的所有航线信息。

3) 查询航线信息功能模块:可通过航班号查询,也可通过飞机到达地点查询。 4) 订票功能模块:包括航班号、定票数量、订票客户姓名、舱位等级、身份证号码。

5) 退票功能模块:不满意所订的票时可进行退票,退票时需输入订票客户的姓名。 5) 查看剩余票数功能模块:对剩余用户可以订的票的数量进行查询并排序,便于其他用户订票。

7) 退出系统功能模块:退出系统。

所以采用如下方案: 1) 本系统以菜单方式工作

2) 航线创建功能,我们定义了一个结构体Plane作为所有信息的录入单元且其录入的相应信息应是以Plane作为数据单元进行存储的,然后对该创建的链表调用insert()函数,存储到数据文件中去.采用链表作为存储结构功能的实现--输入;

3) 订票功能模块中我们应对乘客需要订的航班进行查找,看是否可以满足乘客所需的票,若可以则为乘客订票,并修改相应航班的剩余票数,退票功能模块则应查询机票数据文件,先用指针在文件中找到相应的要退的票,即把该订票单元结构体删除并修改退票航班的剩余票数即可;

4) 航班信息和订票信息的查看功能--输出查询航班(按航班号或抵达城市查询)

2

飞机订票系统 第 3 页 共 30 页

2数据结构设计描述

本程序我采用了结构体,线性表存储,文件和链表存储结构。

3软件结构设计(系统功能模块图)

图3-1整体结构框图

4算法设计思想

4.1. 数据类型定义

调用头文件,定义文件指针 #include #include #include #include typedef struct wat_ros

3

飞机订票系统 第 4 页 共 30 页

{ char name[10];/*姓名*/ char ID[18];/*身份证号*/ int req_amt;/*订票量*/ struct wat_ros *next;

}qnode,*qptr; //定义结构体指针变量 void main();

void insert(); //添加航班信息函数 航班的基本信息其数据结构为: struct airline

{ char ter_name[10];/*终点站名 */ char air_num[10];/*航班号*/ char plane_num[10];/*飞机号*/ char date[7];/*飞行日期(星期几)*/ int tkt_amt;/*乘员定额*/ int tkt_sur;/*余票量*/

linklist *order;/*乘员名单域,指向乘员名单链表的头指针*/

linkqueue wait;/*等候替补的客户名单域,分别指向排队等候名单队头队尾的指针*/

}lineinfo;

3) 定义定票的乘客基本信息

typedef struct ord_ros { char name[10];/*客户姓名*/ char ID[18];/*身份证号*/ int ord_amt;/*订票量*/ int grade;/*舱位等级*/ struct ord_ros *next; }linklist;

4.2. 主要模块内部设计(我主要负责录入模块和修改模块)_

4.2.1、录入航班信息模块(创建链)

4

飞机订票系统 第 5 页 共 30 页

1) 本模块是对程序中的insert()函数的详细说明——链表的存储结构,存储到数据单链表中去,

该模块的算法如下: void insert() {

for (int i=0;i

printf(\请输入航班%d信息(共%d条):\

scanf(\num,(air+i)->date,&(air+i)->tkt_amt,&(air+i)->tkt_sur); }

4.2.2、查看和查询航班信息模块

由于航班的录入和保存是由链表存储结构进行的,并且是保存在单链表中,所以此查询就可通过链表查询,在查看便是将其文件中所有的航班信息进行输出,而查询我们可根据航班号和航班抵达的城市匹配查看,在查询中将需要查询的航班号和文件阅读时指针所指的值进行比较,从而匹配输出; 4.2.3 订票模块

先根据数据定义进行订票时信息的输入,在定票时应先按乘客想要定的航班号或者抵达城市查询,并按乘客欲定的票的数目与查询数目进行比较,若此比较结果大于或等于0,则输出乘客可以定票,在修改航班信息中该航班的数量,且在整个定票系统中,所有的定票都用链表进行存储管理; 4.2.4退票模块

在退票系统中即对航班票的数据文件进行管理,所以可先按照查询航班票的方法,若查询到的票的信息和乘客此时要求退票的信息相匹配,则删除相应的该票的节点,再修改其航班信息;

5


飞机订票系统.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:《公共组织学》课程考试重点内容知识汇总

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: