- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18: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
1问题描述与分析
飞机订票系统要求可以实现如下功能:可以录入航班情况,可以查询某个航线的情况,如输入飞机到达城市,查询飞机航班情况;可以订票、退票。从问题的描述分析,该飞机定票系统必须具备以下几个功能模块:
1) 航线创建功能模块:包括终点站名、航班号、分机号、飞行日期、乘员定额、及余票量,准载人数等信息.。
2) 浏览航班信息功能模块:查看创建的所有航线信息。
3) 查询航线信息功能模块:可通过航班号查询,也可通过飞机到达地点查询。
4) 订票功能模块:包括航班号、定票数量、订票客户姓名、舱位等级、身份证号码。
5) 退票功能模块:不满意所订的票时可进行退票,退票时需输入订票客户的姓名。
5) 查看剩余票数功能模块:对剩余用户可以订的票的数量进行查询并排序,便于其他用户订票。
7) 退出系统功能模块:退出系统。
所以采用如下方案:
1) 本系统以菜单方式工作
2) 航线创建功能,我们定义了一个结构体Plane作为所有信息的录入单元且其录入的相应信息应是以Plane作为数据单元进行存储的,然后对该创建的链表调用insert()函数,存储到数据文件中去.采用链表作为存储结构功能的实现--输入;
3) 订票功能模块中我们应对乘客需要订的航班进行查找,看是否可以满足乘客所需的票,若可以则为乘客订票,并修改相应航班的剩余票数,退票功能模块则应查询机票数据文件,先用指针在文件中找到相应的要退的票,即把该订票单元结构体删除并修改退票航班的剩余票数即可;
4) 航班信息和订票信息的查看功能--输出查询航班(按航班号或抵达城市查询)
2数据结构设计描述
本程序我采用了结构体,线性表存储,文件和链表存储结构。
3软件结构设计(系统功能模块图)
图3-1整体结构框图
4算法设计思想
4.1. 数据类型定义
调用头文件,定义文件指针
#include stdio.h
#include stdlib.h
#include string.h
#include conio.h
typedef struct wat_ros
{ 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、录入航班信息模块(创建链)
1) 本模块是对程序中的insert()函数的详细说明——链表的存储结构,存储到数据单链表中去,
该模块的算法如下:
void insert() {
for (int i=0;iMAXSIZE;i+
文档评论(0)