飞机订票系统模拟说明书.docx

上传人:b****7 文档编号:26162945 上传时间:2023-06-17 格式:DOCX 页数:33 大小:472.51KB
下载 相关 举报
飞机订票系统模拟说明书.docx_第1页
第1页 / 共33页
飞机订票系统模拟说明书.docx_第2页
第2页 / 共33页
飞机订票系统模拟说明书.docx_第3页
第3页 / 共33页
飞机订票系统模拟说明书.docx_第4页
第4页 / 共33页
飞机订票系统模拟说明书.docx_第5页
第5页 / 共33页
点击查看更多>>
下载资源
资源描述

飞机订票系统模拟说明书.docx

《飞机订票系统模拟说明书.docx》由会员分享,可在线阅读,更多相关《飞机订票系统模拟说明书.docx(33页珍藏版)》请在冰豆网上搜索。

飞机订票系统模拟说明书.docx

飞机订票系统模拟说明书

摘要

目前,国内航空公司的数量和规模都在扩大,国外航空公司也纷纷着陆中国,这些航空公司之间的竞争可谓日益激烈。

配备一个安全、高效、灵活、可靠的航空订票管理系统对于航空公司加强客户服务质量,提高客户服务水平,扩展业务途径,维护公众形象,提高工作效率必将发挥重要作用。

基于上述种种弊端,要求有一个合理而有效的计算机管理系统对机票的销售情况进行管理。

这个系统必须能够完成日常手工能完成的各项操作,并且把售票、统计、查询、报表连接成一个有效的数据库管理系统,相互制约,避免手工操作出现漏洞和错误,达到对机票高效合理的管理。

因此,为了提高工作效率,开发一个航空公司管理信息系统既是可行的又是适应现代化管理的需求的事情。

关键词:

航空订票系统;计算机管理;数据库

 

Abstract

Atpresent,thenumberandscaleareexpandingdomesticairlinesandforeignairlinesarelandinginChina,theincreasinglyfiercecompetitionbetweenairlines.Equippedwithasafe,efficient,flexibleandreliableairlinereservationmanagementsystemfortheairlinetoimprovethequalityofcustomerservice,improvecustomerservicelevels,expandbusinessway,maintainthepublicimage,improvetheworkefficiencywillplayanimportantrole.

Basedontherequirementoftheaboveshortcomings,thereisareasonableandeffectivecomputermanagementsystemformanagementofticketsales.Thesystemmustbeabletocompletedailytheoperationscanbedonemanually,andconnectticket,statistics,query,reportformsintoaneffectivedatabasemanagementsystem,restrainingeachother,avoidmanualloopholesandmistakes,toachieveareasonablehighonticketmanagement.Therefore,inordertoimprovetheworkefficiency,developanairlinemanagementinformationsystemisafeasibleandmeettheneedsofmodernmanagement

Keywords:

Airlinereservationsystems;Computermanagement;Thedatabase

 

 

目录

1.概述1

1.1引言1

1.2 系统设计的背景2

1.3 系统性能需求分析2

1.4 航空订票系统的基本任务3

1.5 航空订票系统的目标4

2.总体设计4

2.1总体描述4

2.1.1模块总体设计介绍4

2.2功能介绍6

2.3算法说明7

3.详细设计8

3.1录入航空系统主界面8

3.2功能模块13

3.2.1顾客订票模块13

3.2.2查询航班模块16

3.2.3顾客退票模块18

3.2.4查询订单模块19

3.2.5修改航班模块21

4.系统调试23

5.总结30

参考文献28

致谢29

 

1.概述

1.1引言

在现代社会,人们的生活节奏越来越快,如何提高生产生活质量成为人们日益关注的话题。

二十一世纪是一个信息化技术高度发达的时代,信息化技术已经深入社会生活的各个领域。

在当今激烈的市场竞争中,谁掌握着信息的控制权,谁就掌握着主动权,现代企业的竞争就是一个例证。

在现代大型企业中,仅靠人力对企业进行管理不仅效率低下,有时甚至是根本不可能完成的一项任务。

因此,必须借助信息技术的发展,对企业的各项事务实施信息化管理,以提高工作效率和可靠性,这也是建立现代化企业的要求和时代发展的必然趋势。

在现实生活中,人们往往要处理大量繁杂的数据。

在这种情况下,利用日趋成熟的计算机技术和数据库管理技术来进行数据处理非常方便。

各种信息管理软件也就随之出现了。

当今的航空客运服务业发展十分迅速,它是现代生活高节奏的一个有力体现。

在航空服务业中,飞机订票业务是一项重要内容,它大大方便了人们的旅行。

1.2 系统设计的背景

在信息技术还不是十分发达的时代,人们在要旅行的时,必须到车站或是机场的售票处临时买票,或者提前好几天到离居住地很远的地方事先将票买好。

在这种情况下,人们不知道是否能按预期买到票。

在旅行旺季的时候,有时耽误了大量的时间也没将票买好,给人们的出行带来了很大的不便。

随着信息技术的日趋成熟,订票业务随之产生。

现在,人们如果要外出旅行,可以提前将机票预订好。

而且更为方便的是,人们不必亲自到机场买票,因为很多地方都提供订票业务,比如旅馆,各地的售票点等。

另外,人们还可以选择是否要求将票送到自己手中,甚至要求在出行时将自己送至机场。

这大大方便了人们的外出旅游和工作,提高了服务质量和效率。

 

1.3 系统性能需求分析

软件的开发要充分考虑到软件系统的性能,以提高工作的效率和可靠度,并方便用户的使用。

本航空订票系统从以上因素出发,建立了面向航空客运服务的订票信息系统,在本系统的设计过程中主要考虑以下原则:

(1)进行订票服务前,应将数据库的原始信息准备好。

这些原始信息是一些核心数据,如软件系统的用户名称和初始密码等信息,还可以包含其他一些数据,如客机信息、航班信息等。

原始信息的录入一般由后台数据库管理系统进行,即交给中央服务器来处理这些信息,也可以在客户端进行这些数据的录入,不过使用不当可能造成系统的混乱。

数据输入的格式应符合业务习惯,并且直观、方便。

要求系统处理的数据能准确无误,同时输出信息要求直观、简洁。

(2)系统运行具有较高的可靠性,提供严格的并发控制,确保数据的一致性和正确性,防止脏数据的读入和数据的丢失。

(3)从用户的实际需要出发进行系统开发,不盲目追求高新技术的应用。

要求软件的界面友好,易于使用。

系统安全措施可靠、高效、可维护性好,有权限控制、口令控制、临时锁定控制,其中口令录入界面便于系统识别登录用户。

1.4 航空订票系统的基本任务

航空订票系统是以提高航空公司的经营效率、方便顾客的出行为目标,通过运用各种现代化技术、经济和组织措施,对公司订票业务的全过程进行有效的管理。

订票业务所包含的信息量十分巨大,不易采用人工管理。

在传统的手工管理方式下,信息的采集和反馈速度十分缓慢,而且极易出错,数据的失真、丢失现象严重。

并且未能利用好现代化先进的通讯技术,实施远程订票业务,给地处较为偏僻的顾客带来了很大的不便,使公司的各项服务相互脱节,影响了公司的经营效率,给旅客的出行带来了很多不便。

因此,航空订票系统的基本任务,就是要通过对现代化的信息技术和管理技术的紧密结合,同时利用现代先进的通讯技术,对整个订票业务进行有效的管理,达到订票服务的现代化,同时带动航空公司的其他各项服务,从而提高公司的经营效率和服务质量,实现服务的现代化,方便旅客的外出远行。

1.5 航空订票系统的目标

在市场经济条件下,企业之间的竞争是非常激烈的。

不管是在同类企业之间,还是不同类型的企业之间,竞争都是存在的。

为了在竞争中处于领先的地位,各个企业都在努力提高自己的技术水平和管理水平。

在现代的交通运输业中,竞争的激烈程度亦是可想而知的。

人们在远出游玩或是办事时,首先不得不考虑乘坐什么交通工具,其中,在对选择选用哪种交通工具时,其影响因素是多方面的。

例如,人们会根据自己的经济条件和交通工具的方便程度做出适当的选择。

在这种情况下,公司除了降低乘坐此种交通的费用外,还必须提高各项服务的质量,方便旅客的出行。

随着现代生活节奏的加快,人们的时间观念越来越强。

在传统的交通服务行业里,人们需要在出行时到机场或是车站购票,在高峰季节,往往需要排着长长的队伍等候,甚至无功而返,浪费了人们大量的时间,给旅客带来了很大的不便。

为了方便旅客,同时提高航空公司的经营效益,该航空订票数据库应达到以下的目标:

(1)提供基本的订票功能:

能够按照顾客提供的信息提供订票服务,例如按给定的起飞城市、到达城市、起飞日期、舱位类型等订票。

(2)提供出票的功能:

即打印机票的功能,根据需要打印出所需机票。

(3)提供其他的服务:

在顾客要求的情况下,可以提供送票、送机服务。

即按顾客指定的日期、地点将机票送到顾客手中,或是派车将顾客按时送到机场。

(4)提供各种查询功能:

例如航班时刻查询,包括起飞时间,到达时间;航班的其他基本信息查询,即查询某航班的座位出售情况、所剩余的座位数量、各类型舱位的机票价格等;送机和送票服务的调度查询;查询当日的应该送票的司机和送票员;旅客基本信息查询,查询旅客的各种基本信息。

(5)提供退票功能:

能够在有效的时间内为顾客提供退票服务。

(6)系统维护功能:

包括价目的调整、航班的增删及用户的管理等。

2.总体设计

2.1总体描述

2.1.1模块总体设计介绍

总体设计图如下图2.1

图2.1总体系统模块图

(1)用户输入模块

在此模块中,用户将根据菜单提示结合自己的需求输入一个0~7的值,来实现一定的功能。

(2)航班信息录入模块

此模块可以让用户从键盘输入每个航班的信息:

航班号、起始站、终点站、起飞时间、机票数、票价。

用户可插入一个或多个航班信息到当前编辑的数据中。

用户可删除一个或多个航班信息。

(3)文件保存功能模块

用户在确定以录入的信息无误之后,可以将航班信息存为一个数据文件。

用户输入的航班信息可随时保存数据文件。

(4)文件打开功能模块

用户可以用此模块将数据文件在程序中打开、编辑,程序只能对当前打开的数据文件进行编辑。

(5)查询功能模块

在此模块里,用户可实现以下操作:

1.浏览所有航班信息;2按航班号查询航班信息;3.按终点站查询航班信息;4.按航线查询航班信息;

(6)报表输出功能模块

在此模块中,用户可以浏览所有航班的信息,可以按航班编号输出一个航空公司航班信息:

航班号、起始站、终点站、起飞时间、机票数、票价,到屏幕和文件。

2.2功能介绍

(1)航班信息录入功能

1)用户从键盘输入每次航班的信息:

航班号、起始站、终点站、起飞时间、机票数、票价。

2)可添加一个或多个航班信息到当前编辑的数据中。

3)可修改一个或多个航班信息。

4)可删除一个或多个航班信息。

(2)文件保存功能

1)航班信息每一机场存为一个数据文件,数据文件可在程序中打开、编辑和重新保存。

2)用户输入航班信息可随时保存数据文件。

(3)文件打开功能

程序只能对当前打开的数据文件进行编辑。

(4)查询功能

1)浏览所有航班信息;

2)按航班号查询航班信息;

3)按终点站查询航班信息;

4)按航线查询航班信息;

(5)报表输出功能

按航班编号输出一个航空公司的航班信息:

航班号、起始站、终点站、起飞时间、机票数、票价,到屏幕和文件。

2.3算法说明

voidinit_flight(flightnode*&h):

要建立一个以h为头结点的空链表,录入航班信息和增加航班后将航班结点插入该链表。

voidinit_passengerList(passengerList*&pList):

建立一个带有头指针和尾指针的空链表,存储带有顾客信息的结点。

voidsave_flight(flightnode*h):

保存航班信息到指定数据文件中。

voidload_flight(flightnode*&h):

从存储航班信息的文件导入航班信息到航班链表中。

voidsave_passenger(passengerList*PList):

保存客户信息到指定数据文件中。

voidload_passenger(passengerList*&PList):

从存储客户信息的文件导入客户信息到客户链表中。

voidadd_flight(flightnode*&h):

录入航班信息后调用insert_flight函数增加航班。

voidinsert_flight(flightnode*&h,char*flight_num,char*start_place,char*end_place,char*start_time,char*end_time,intleft,floatprice,floatprice_discount,intisFull):

在录入航班情况或增加新的航班后,将新的航班结点插入到航线链表中。

intbook(flightnode*&l,passengerList*&PList):

要完成客户订票,将客户结点插入客户链表中,并修改相应的航班信息。

voidinsert_passengerList(flightnode*&h,passengerList*&PList,char*name,char*ID_num,char*flight_num,intticket_num):

在顾客订票后,将该顾客结点插入到顾客链表中,并修改相应的航班信息。

voidfind_same_flight(flightnode*l,char*flight_num):

在客户订票时,当客户输入的航班号对应的航班已满仓时,提供其他可选航班并输出显示。

voidcancel(passengerList*&PList,flightnode*&h):

完成客户退票,将客户的订单从客户链表中删除,并修改相应的航班信息。

intdelete_passenger(passengerList*&PList,flightnode*&h,char*name,char*ID_num):

按照要退票的顾客的姓名和证件号查找该顾客结点,进行删除操作。

voidflight_check(flightnode*h):

选择使用何种方式对航班信息进行查询。

voidcheck_all_flight(flightnode*l):

浏览所有航班信息。

intplace_check(flightnode*l,char*start_place,char*end_place):

按照起飞抵达城市查询航班信息。

intflight_num_check(flightnode*l,char*flight_num):

按照航班号查询航班信息。

voidpassenger_check(passengerList*PList):

选择使用何种方式对订单信息进行查询。

voidcheck_all_passenger(passengerList*PList):

浏览所有订单信息。

intorder_num_check(passengerList*PList,intorder_num):

按订单号查询订单信息。

intID_name_check(passengerList*PList,char*name,char*ID_num):

按客户姓名和证件号查询订单信息。

voidmodify_flight(flightnode*&h,passengerList*&PList):

修改航班信息,包括添加航班信息,删除航班信息,修改航班起飞抵达时间。

voiddelete_flight(flightnode*&h,passengerList*&PList):

按照某个航班号删除航班结点。

 

3.详细设计

3.1录入航空系统主界面

在主函数中输入“1”,调用voidadd_flight(flightnode*&h)函数,此函数将航班指针*p指向已存在航班链表*h的头结点,利用for(;p->next!

=NULL;p=p->next){}使*p指向航线链表的最后一个结点,然后让用户输入航班信息,然后调用voidinsert_flight(flightnode*&h,char*flight_num,char*start_place,char*end_place,char*start_time,char*end_time,intleft,floatprice,floatprice_discount,intisFull)函数,用malloc函数申请一个航班结点,并用指针*q指向,将航班信息赋到新申请的结点中,p->next=q;p=p->next;该操作将该结点插入航班链表中。

航班信息录入功能

(1)用户从键盘输入每次航班的信息:

航班号、起始站、终点站、起飞时间、机票数、票价。

(2)可添加一个或多个航班信息到当前编辑的数据中。

(3)可修改一个或多个航班信息。

(4)可删除一个或多个航班信息。

流程图如下:

 

 

图3.1录入航班模流程图

程序如下:

voidinit_flight(flightnode*&h)//目的是要建立一个以h为头结点的空链表,录入航班信息和增加航班后将航班结点插入该链表

{

h=(flightnode*)malloc(sizeof(flightnode));//申请头结点的空间

if(h==NULL)exit(0);

h->next=NULL;//将头结点h的指针域置为空

}

voidinit_passengerList(passengerList*&pList)

{

pList=(passengerList*)malloc(sizeof(passengerList));

pList->head=(passengernode*)malloc(sizeof(passengernode));//创建头结点

pList->rear=pList->head;

pList->rear->order_num=0;//订单号从0开始计数

pList->head->next=NULL;

}

voidsave_passenger(passengerList*PList)

{

FILE*fp=fopen("passenger.dat","wb");

if(fp==NULL)

return;

passengernode*temp=PList->head->next;

while(temp!

=NULL)

{

fwrite(temp,sizeof(passengernode),1,fp);

temp=temp->next;

};

fclose(fp);

}

voidload_passenger(passengerList*PList)

{

FILE*fp=fopen("passenger.dat","rb");

if(fp==NULL)

return;

passengernode*q;

intn;

while(!

feof(fp))

{

q=(passengernode*)malloc(sizeof(passengernode));

n=fread(q,sizeof(passengernode),1,fp);

if(n!

=1)

break;

PList->rear->next=q;

PList->rear=q;

}

PList->rear->next=NULL;

fclose(fp);

}

voidsave_flight(flightnode*h)

{

FILE*fp=fopen("flightList.dat","wb");

if(fp==NULL)

return;

flightnode*temp=h->next;

while(temp!

=NULL)

{

fwrite(temp,sizeof(flightnode),1,fp);

temp=temp->next;

};

fclose(fp);

}

voidload_flight(flightnode*&h)

{

flightnode*pt=h;

FILE*fp=fopen("flightList.dat","rb");

if(fp==NULL)

return;

flightnode*q;

intn;

while(!

feof(fp))

{

q=(flightnode*)malloc(sizeof(flightnode));

n=fread(q,sizeof(flightnode),1,fp);

if(n!

=1)

break;

pt->next=q;

pt=q;

}

pt->next=NULL;

fclose(fp);

}

intfind_same_flight(flightnode*h,char*flight_num)

{

flightnode*t=h->next,*p=h->next;

intmark=0;

printf("%-8s%-12s%-12s%-10s%-10s%-8s%-6s%-10s%-8s\n","航班号","起飞城市","抵达城市","起飞时间","抵达时间","价格","折扣","是否满仓","空座数");

while(t!

=NULL&&strcmp(t->flight_num,flight_num)!

=0)t=t->next;

while(p!

=NULL){

if((strcmp(t->start_place,p->start_place)==0)&&(strcmp(t->end_place,p->end_place)==0)&&(strcmp(t->flight_num,p->flight_num)!

=0))

{

printf("%-8s%-12s%-12s%-10s%-10s%-8.2f%-6.2f%-10d%-8d\n",p->flight_num,p->start_place,p->end_place,p->start_time,p->end_time,p->price,p->price_discount,p->isFull,p->left);

mark=1;

}

p=p->next;

}

if(mark==0)

{

printf("\t\t抱歉,没有可选的航班!

\n");

return0;

}

return1;

}

voidinsert_flight(flightnode*&h,char*flight_num,char*start_place

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 英语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1