数据结构航空订票系统课程设计报告.docx
- 文档编号:777653
- 上传时间:2022-10-12
- 格式:DOCX
- 页数:32
- 大小:259.57KB
数据结构航空订票系统课程设计报告.docx
《数据结构航空订票系统课程设计报告.docx》由会员分享,可在线阅读,更多相关《数据结构航空订票系统课程设计报告.docx(32页珍藏版)》请在冰豆网上搜索。
数据结构航空订票系统课程设计报告
摘要
飞机在现代的生活中扮演者非常重要的角色。
它能够快速的把人们送到自己想要去的地方,既快速,又方便。
所以现在坐飞机时很普遍的。
但是都到机场去买票浪费时间,因此,航空订票系统应运而生。
有了航空订票系统,用户可以在该系统进行飞机票的查询,订票,退票等操作。
方便了大家
关键词航空订票系统、查询、订票、退票
摘要I
1需求分析2
1.1需求概述2
1.2需求环境2
1.3功能描述2
2概要设计3
2.1程序功能模块3
2.2程序流程图3
2.3课程设计的思想3
3详细设计4
3.1程序初始化4
3.1.1代码功能4
3.1.2功能实现代码4
3.2查询航班信息6
3.2.1代码功能6
3.2.3功能实现代码7
3.3订票模块8
3.3.1代码功能8
3.3.2功能实现代码8
4测试与运行14
5结束语.......................................................................................................................16
6参考文献..................................................................................................................17
7附录..........................................................................................................................18
1需求分析
1.1需求概述
航线管理。
每条航线所涉及的信息有:
终点站名、航班号、飞机号、飞行周日(星期几)、乘员定额、余票量
客户管理。
有关订票的客房信息(包括姓名、订票量、舱位等级(1,2和3)以及等替补的客房名单(包括姓名、所需标量)。
系统实现主要操作操作和功能。
系统实现的主要操作规程和功能如下:
1查询航线。
根据旅客提出的终点站名输出下列信息:
航班号、飞机号、飞行日期、余标额。
2承办订票业务。
根据客户提出的要求(航班号、订票数额)查询该航班票额情况,若有余票,则为客户办理订票手续,输出座位号;若已满或者余票少于订票额,则需要重新询问客户要求;若需要,可等待排队侯补
3承办退票业务。
根据客户提供的情况(日期、航班),为客户输退票手续,然后查询该航班是否有人排队候补,首先询问排在第一的客户,若所退票额满足该客户的要求,则为其订票手续,否则依次询问其他排队候补的客户。
1.2需求环境
本课程设计需要的设备为硬件要求和软件配置要求具体要求如下:
①硬件要求:
一台计算机。
②软件配置:
WINDOWS7/VC++6.0。
1.3功能描述
本次课程设计是航空订票系统主要是由查询航班信息,订票还有退票三大主要功能。
除此之外,还有系统的界面等等。
2概要设计
2.1程序功能模块
由需求分析知,本次课程设计是航空订票系统其主要由三大模块构成,即查询模块(这部分由我负责),订票系统模块和退票系统模块构成。
2.2程序流程图
该程序开始运行后
进如航空订票系统
用户可以进行航班
信息的查询,订票
和退票操作。
图2.1为该系统总的流程图
2.3课程设计的思想
由需求分析知道需要实现几个功能定义了两个结构体。
这两个结构体分别用来表示顾客信息和航班信息。
有结构体可以知道一些基本信息,比如顾客的姓名,定的机票和航班的时间等等信息。
使得实验代码的可读性大大增强。
3详细设计
3.1程序初始化
3.1.1代码功能
这一块还是由我负责。
我初始化了五个航班的基本信息。
在初始化程序中,主要是航班的基本信息。
比如航班号,出发时间和剩下的机票数目等等基本信息。
通过运用指针和链表来进行对初始化信息的书写。
在初始化时将三个重点的信息分别初始化为:
航班号005飞机号PZH113机票数120
天津航班号004飞机号PZH121机票数120
航班号003飞机号PZH133机票数120
④航班号002飞机号PZH132机票数120
⑤航班号001飞机号PZH122机票数120
3.1.2功能实现代码
voidInitLine()//初始化航线信息
{
airline*p,*q;//航线
L=(airline*)malloc(sizeof(airline));
L->booked=NULL;
L->wait=NULL;
L->next=NULL;
strcpy(L->end_addr,"00000000");//终点站
strcpy(L->line_num,"000");//航班号
strcpy(L->plant_num,"0000000");//飞机号
L->day=L->left=L->total=0;
q=L;
p=(airline*)malloc(sizeof(airline));//
p->booked=NULL;
p->wait=NULL;
strcpy(p->end_addr,"");
strcpy(p->line_num,"005");
strcpy(p->plant_num,"PZH113");
p->day=5;
p->left=120;
p->total=120;
p->next=q->next;
q->next=p;
p=(airline*)malloc(sizeof(airline));//天津
p->booked=NULL;
p->wait=NULL;
strcpy(p->end_addr,"天津");
strcpy(p->line_num,"004");
strcpy(p->plant_num,"PZH121");
p->day=4;
p->left=120;
p->total=120;
p->next=q->next;
q->next=p;
p=(airline*)malloc(sizeof(airline));//
p->booked=NULL;
p->wait=NULL;
strcpy(p->end_addr,"");
strcpy(p->line_num,"003");
strcpy(p->plant_num,"PZH133");
p->day=1;
p->left=120;
p->total=120;
p->next=q->next;
q->next=p;
p=(airline*)malloc(sizeof(airline));//
p->booked=NULL;
p->wait=NULL;
strcpy(p->end_addr,"");
strcpy(p->line_num,"002");
strcpy(p->plant_num,"PZH132");
p->day=2;
p->left=120;
p->total=120;
p->next=q->next;
q->next=p;
p=(airline*)malloc(sizeof(airline));//
p->booked=NULL;
p->wait=NULL;
strcpy(p->end_addr,"");
strcpy(p->line_num,"001");
strcpy(p->plant_num,"PZH122");
p->day=3;
p->left=120;
p->total=120;
p->next=q->next;
q->next=p;
}
3.2查询航班信息
3.2.1代码功能
此模块主要由我负责,在此模块我实现了查询航班的功能。
当进入查询功能时,通过输入数字用户可以查询航班的基本信息,比如目的地,剩下的机票数目,出发的时间等等基本信息。
如果输入的数字在界面中没有显示则会提示用户没有这次航班。
在这个模块我使用了个switch语句来实现对查询方式的选择。
通过判断输入的数字进入到相对应的查询方式。
如果输入的信息有误的话,系统将会提示用户没有这次航班,需要重新输入。
3.2.2查询模块流程图
3.2.2查询模块的流程图
在该模块用户可以进行查询功能。
用户根据提示可以按照航班号、飞机号、飞行日期和航班重点来查询航班的基本信息。
这些基本信息包括了飞行航班号、飞机号、剩余票量和处罚日期等等。
在该模块用户必须根据提示进行输入,否则系统会提示输入有误,需要重新输入。
3.2.3功能实现代码
voidsearch()//航班查询系统
{
inti;
intflag=0;
airline*p;
PR("请输入查询航班的方式:
\n");
PR("航班号---->1\n");
PR("飞机号---->2\n");
PR("飞行日期-->3\n");
PR("航班终点-->4\n");
SC("%d",&i);
for(;!
flag;)
switch(i)//switch语句来进行航班的查询方式
{
case1:
p=search_line();flag=1;break;
case2:
p=search_plant();flag=1;break;
case3:
p=search_day();flag=1;break;
case4:
p=search_addr();flag-=1;break;
default:
PR("操作错误,请重新输入\n");break;
}
if(p)
{
PR("终点站航班号飞机号飞行周日余票量\n");
PR("%-20s%10s%10s%8d%8d\n",p->end_addr,p->line_num,p->plant_num,p->day,p->left);
PR("是否订票(确定请按1)");
SC("%d",&i);
if(i==1)
book();
}
else
PR("没有该航班\n");}
3.3订票模块
3.3.1代码功能
在此模块可以根据提示可以从航班号,飞行日期和终点站来进行订票。
如果订票时余票不足所需要的票的数目时就可以进行排队购票选择。
3.3.2功能实现代码
voidbook()//订票系统
{
inti;
intflag=0;
airline*p;
customer*cst,*c;
PR("请输入查询航班的方式:
\n");
PR("航班号--->1\n");
PR("终点站--->2\n");
PR("飞行日期->3\n");
for(;!
flag;)
{
SC("%d",&i);
switch(i)//运用一个switch语句进行航班查询
{
case1:
p=search_line();flag=1;break;
case2:
p=search_addr();flag=1;break;
case3:
p=search_day();flag=1;break;
default:
PR("操作错误,请重新输入\n");break;
}
}
if(p)
{
PR("终点站航班号飞机号飞行周日余票量\n");
PR("%-20s%10s%10
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 航空 订票 系统 课程设计 报告