民航订票系统

民航订票系统
民航订票系统

1 绪论

1.1 系统设计的目的

为了方便机场工作人员对机票的管理,提高飞机票的管理效率,降低飞机票管理中的出错率,减少信息交流及其带来不必要的开销。需要设计一个民航订票系统,该系统能及时反映航班及机票的剩余数量等信息,可快速的帮乘客订到想要的机票,而乘客也可以通过该系统实现自助退票的功能。

1.2 实现的目标

该系统是由两个人共同设计实现功能,由于一个人的能力有限,该系统仅能实现录入航班信息、查询航班信息、订购飞机票、退订飞机票等一部分功能(航班的信息存储在文件夹中)。

1.3 课题的研究方法

机票管理系统是实现机场机票的预定、统计和分析,提高机票运用的科学管理水平,充分发挥机票利用率,节省订退票时间。系统的主要设计思想是实现对机票的查询、退订等功能。航班的信息以文件的形式存储,用头文件包含、全局变量定义和结构体定义源代码,用结构体数组来存放顾客名、航班号、座位号等信息,用链式结构存储信息。系统的人机接口采用简单的字符界面进行交互。系统的设计方法是结构化设计方法,采用C语言进行开发。软件开发平台采用Visual C++6.0[1]。

2 软件模块结构图

民航订票系统可以分为四个部分,订票、退票、查询信息、信息载入。

图2.1 民航订票系统模块结构图

3 详细设计

3.1 数据结构设计

用printf()函数输出界面,typedef struct airline{}定义航班的信息,如航班号、飞机号、目的地、座位总数和剩余座位数等。typedef struct customer{}定义顾客信息,如顾客名、所订航班号和座位号等。初始化链表,并在airline、customer 链表中操作,实现系统的功能[1]。

3.2 模块设计

3.2.1 界面设计

用printf()函数输出界面,提示用户选择需要的功能,用条件语句捕捉用户输入的选项,并执行代码,进入用户所选的操作界面。若用户输入非选项的字符,则提示输入错误,提醒用户重新选择。

3.2.2 订票模块设计

进入订票模块后,进行订票。若票已经售完,提示用户不能预订该航班的机票。若还有余票,则提示用户输入个人信息订票。订票成功后,系统中该航班的余票减少相应的数量,并将顾客信息存入文件[2]。代码实现:

status book(airline *l,char *flight_num,customer *c,char *name)

{

airline *p=l;

customer *q=c->next ;

p=l->next ;

for(;q->next !=NULL;q=q->next){}

for(;p!=NULL;p=p->next )

{

if(strcmp(flight_num,p->flight_num )==0)

{

if(p->left >0)

{

……

p->left --;

return 1;

}

else printf("Sorry!Seats full!\n");

return 0;

}

}

3.2.3 退票模块设计

进入退票模块后,用户需根据提示填写自己的姓名。退票成功后,该系统自动在余票中增加相应的票数。代码实现:

status delete_cus(customer *h,airline *l,char *name)

{

customer *p,*pr;

char flight_num[8];

pr=h;

p=pr->next ;

while(p!=NULL)

{

if(strcmp(name,p->name )==0)

{

……

}

pr=pr->next ;

p=pr->next ;

}

printf("No this customer£?can't return£?\n");

return 0;

}

3.2.4 查询模块

进入查询模块,用户可以查询现有的航班路线、航班号、余票数等信息。代码实现:

status print_airline(airline *l)

{

airline *p=l->next ;

for(;p!=NULL;p=p->next )

{

printf("%8s%8s%8s%9d%9d\n",p->flight_num ,p->plane_num ,p->destinati on ,p->total ,p->left );

}

return 1;

}

3.2.5 修改航班信息模块

进入该模块后,用户可以更改航班的信息。有了这个模块,系统内的信息可以灵活的根据航班的变动而变动。代码实现:

status increase_air(airline *l,char *flight_num,char *plane_num,char *destination,int total)

{

airline *p=l->next ;

for(;p->next !=NULL;p=p->next){}

insert_airline(&p,flight_num,plane_num,destination,total,total);

printf("Adding flight %s successed!\n",flight_num);

return 1;

}

3.2.6 初始化体系统

系统最初默认值为零,因此需要初始化链表,录入航班信息和顾客信息。初始化系统后,系统方可进行运行,进行相应的操作,实现系统的功能[3]。

airline *init_airline()

{

……

}

customer * init_customer()

{

customer *l;

l=(customer*)malloc(sizeof(customer));

if(l==NULL){

……

}

l->next=NULL;

return l;

}

status insert_airline(airline **p,char *flight_num,char *plane_num,char *destination,int total,int left)

{

……

}

status insert_customer(customer **p,char *name,char *flight_num,int seat)

{

customer *q;

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

strcpy(q->name , name);

strcpy(q->flight_num , flight_num);

……

4 使用说明及运行实例

4.1 登陆主界面

登陆主界面,按用户需求进行相应操作。

图4.1 主菜单

4.2 订票界面

进入订票界面,输入乘机人的相关信息,系统提示订票成功后方可退出。

图4.2 订票界面

4.3 退票界面

进入退票界面,用户输入相关信息,系统提示退票成功后可退出系统。

图4.3 退票界面

4.4 信息载入界面

进入信息载入界面,进行相关操作。

图4.4 信息载入界面

5 总结

5.1 系统的局限性

该系统仅能实现订票退票和简单的航班录入操作,飞机的起飞、降落时间并未储存在系统中。机票模块的实际剩余票数不能及时反映到系统平台上,导致显示的余票数量可能和实际数量有偏差。查询模块仅能实现按航班号查询和按起飞抵达城市查询的功能。系统并未提供像航班延飞、乘客是否登机等一些实时性的信息这些功能。在安全性方面,系统没有设置密码,因此只能面向航空公司内部人员。

5.2 心得体会

在用C语言编写程序的时候,最好的方法就是分模块进行编写,每个功能用一个或多个模块来实现。这样写出来的程序容易读懂,而且在出现错误的时候可以快速的找出错误。

课程设计是我们专业课程知识综合应用的实践训练,在这次课程设计中,我收获了很多东西。比如独立思考能力、分析问题的角度、动手能力等。虽然在规定的时间内完成了任务,但是由于知识和经验的欠缺,整个系统的开发功能还不太完善。在设计过程中也遇到了一些困难,由于需求分析的不全面,导致最初的系统运行不起来。后来问了周围的同学和学长,才把问题解决了。经过这次课设,让我对软件开发流程有了更深的了解,激发了我对专业知识学习的兴趣。让我看到了课堂学习与实际工作的距离,找出学习中存在不足的地方,可以根据目前自身实际存在的问题有选择性的进行学习,加强自身的能力。对于我们这个专业的学生,实际动手能力是很重要的,在今后的学习中要着重于这个方面,才能缩短自己的能力与实际需要的差距。

参考文献

[1] 严蔚敏,吴伟民.数据结构(C语言版)北京:清华大学出版社,1997: 27-30,91.

[2] 李峰,谢中科. C语言程序设计.上海:复旦大学出版社,2011: 21,69-72.

[3] 谭浩强,C语言程序设计题解与上机指导(第三版).北京:清华大学出版社,2005: 55.

附录源程序清单//#include

#include

#include

#include

#include

typedef int status;

typedef struct airline

{

char flight_num[8]; //航班号

char plane_num[8]; //飞机号

char destination[20]; // 目的地

int total; // 座位总数

int left; // 剩余座位

struct airline *next; // 下一个结点

}airline;

typedef struct customer

{

char name[9]; // 顾客名

char flight_num[8]; // 航班号

int seat_num; // 座位号

struct customer *next; // 下一个结点

}customer;

airline *init_airline()

{ // 初始化链表airline *l;

l=(airline*)malloc(sizeof(airline));

if(l==NULL)

{

exit(0);

}

l->next=NULL;

return l;

}

customer * init_customer()

{ // 初始化链表customer *l;

l=(customer*)malloc(sizeof(customer));

if(l==NULL){

exit(0);

}

l->next=NULL;

return l;

}

status insert_airline(airline **p,char *flight_num,char *plane_num,char *destination,int total,int left)

{ //airline链表插入操作

airline *q;

q=(airline*)malloc(sizeof(airline)); //初始化

strcpy(q->flight_num , flight_num); //拷贝信息

strcpy(q->plane_num , plane_num);

strcpy(q->destination , destination);

q->total =total;

q->left =left;

q->next=NULL;

(*p)->next=q;

(*p)=(*p)->next;

return 1;

}

status insert_customer(customer **p,char *name,char *flight_num,int seat)

{ // customer信息插入操作customer *q;

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

strcpy(q->name , name); //顾客信息拷贝

strcpy(q->flight_num , flight_num);

q->seat_num =seat;

q->next=NULL;

(*p)->next=q;

(*p)=(*p)->next;

return 1;

}

airline *modefy_airline(airline *l,char *flight_num) // 修改airline中的数据{

airline *p;

p=l->next ;

for(;p!=NULL;p=p->next )

{

if(strcmp(flight_num,p->flight_num )==0) //查找

{

p->left ++;

return l;

}

}

printf("No this flight,can't make correction£?\n"); //查找失败

return 0;

}

status delete_airline(airline *h,char *flight_num) // 删除航班

{

airline *p,*pr;

pr=h;

p=pr->next ;

while(p!=NULL)

{

if(strcmp(flight_num,p->flight_num )==0) //信息匹配

{

pr->next =p->next ;

printf("Delete %s flight\n",p->flight_num );

return 1;

}

pr=pr->next ;

p=pr->next ;

}

printf("No this flight£?can't delete£?\n"); //无该信息

return 0;

}

status delete_customer(customer *h,char *flight_num) // 顾客信息删除{

customer *p,*pr;

pr=h;

p=pr->next ;

while(p!=NULL)

{

if(strcmp(flight_num,p->flight_num )==0) //信息匹配

{

pr->next =p->next ; }

pr=pr->next ;

p=pr->next ;

}

return 1;

}

status delete_cus(customer *h,airline *l,char *name) //顾客退票

{

customer *p,*pr;

char flight_num[8];

pr=h;

p=pr->next ;

while(p!=NULL)

{

if(strcmp(name,p->name )==0) //找顾客姓名

{

strcpy(flight_num,p->flight_num ); //找航班信息

l=modefy_airline(l,flight_num); //修改该航班信息

pr->next =p->next ;

printf("Customer %s return tickets successed!\n",p->name );

return 1;

}

pr=pr->next ;

p=pr->next ;

}

printf("No this customer£?can't return£?\n");

return 0;

}

status save_airline(airline *l) //保存airline.dat

{

FILE *fp_airline;

char ch='#';

airline *p=l->next ;

char filename[]="c:\\airline.dat"; //寻找C盘中的航班信息

if((fp_airline=fopen(filename,"wb"))==NULL)

{

printf("can not open file to write:%s\n",filename);

return 0;

}

for(;p!=NULL;p=p->next )

{

fprintf(fp_airline,"%s,%s,%s,%d,%d,%c",p->flight_num,p->plane_num,p->desti nation,p->total,p->left,ch);

fflush(stdin);

}

fclose(fp_airline);

return 1;

}

status save_customer(customer *l) // 保存顾客信息customer.dat. {

FILE *fp_customer;

char ch='#';

customer *p=l->next ;

char filename[]="c:\\customer.dat"; //寻找C盘中的顾客信息文件if((fp_customer=fopen(filename,"wb"))==NULL)

{

printf("can not open file to write:%s\n",filename);

return 0;

}

for(;p!=NULL;p=p->next )

{

fprintf(fp_customer,"%s,%s,%d%c",p->name ,p->flight_num ,p->seat_num ,ch);

}

fclose(fp_customer);

return 1;

}

int changStrInt(char *ch) //把字符串转化为整型

{

int a=1,b=0,c=0,i;

for (i=strlen(ch)-1;i>=0;i--)

{

if (ch[i]<='9'&&ch[i]>='0')

{

b=a*(ch[i]-'0');

a=a*10;

c=c+b;

}

else

{

printf("%不合法,无法将此字符转化为整型\n",ch[i]);

return 0;

}

}

return c;

}

status insert_air(airline *l,char *flight_num,char *plane_num,char *destination,int total,int left)

{ //airline链表插入操作airline *q;

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

strcpy(q->flight_num , flight_num);

strcpy(q->plane_num , plane_num);

strcpy(q->destination , destination);

q->total =total;

q->left =left;

q->next=l->next ;

l->next=q;

return 1;

}

status insert_cus(customer *l,char *name,char *flight_num,int seat) { //customer链表插入操作customer *q;

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

strcpy(q->name , name);

strcpy(q->flight_num , flight_num);

q->seat_num =seat;

q->next=l->next ;

l->next=q;

return 1;

}

status load_airline(airline *l) //读入文件中航班信息

{

FILE *fp_airline;

int flag=0,i=0;

char ch;

char flight_num[8]="\0"; // 航班号

char plane_num[8]="\0"; //飞机号

char destination[20]="\0"; // 目的地

char total_str[5]="\0";

char left_str[5]="\0";

int total; // 座位总数

int left; //剩余座位数

char filename[]="c:\\airline.dat";

if((fp_airline=fopen(filename,"r"))==NULL)

{

printf("can not open file to load:%s\n",filename);

return 0;

}

while(!feof(fp_airline))

{

ch=fgetc(fp_airline);

if(ch!='#')

{

if(flag==0&&ch!=',')

{

flight_num[i]=ch; i++; }

else if(flag==1&&ch!=',')

{

plane_num[i]=ch; i++; }

else if(flag==2&&ch!=',')

{

destination[i]=ch; i++; }

else if(flag==3&&ch!=',')

{

total_str[i]=ch; i++; }

else if(flag==4&&ch!=',')

{

left_str[i]=ch; i++; }

else if (ch==',')

{

if(flag==0)

flight_num[i]='\0';

else if(flag==1)

plane_num[i]='\0';

else if(flag==2)

destination[i]='\0';

else if(flag==3)

total_str[i]='\0';

else

left_str[i]='\0';

flag++; i=0;

}

}

else

{

flag=0; i=0;

total=changStrInt(total_str);

left=changStrInt(left_str);

printf("%8s%8s%8s%9d%9d\n",flight_num ,plane_num ,destination ,total ,left );

fflush(stdin);

////insert_air(l,flight_num,plane_num,destination,total,left);

}

}

fclose(fp_airline);

return 1;

}

status load_customer(customer *l) //从文件读入顾客信息

{

FILE *fp_customer;

int flag=0,i=0;

char ch;

char name[9]="\0";

char flight_num[8]="\0"; // 航班号

char seat_num_str[5]="\0";

int seat_num; //座位

char filename[50]="c:\\customer.dat";

if((fp_customer=fopen(filename,"r"))==NULL)

{

printf("can not open file to load:%s\n",filename);

return 0;

}

while(!feof(fp_customer))

{

ch=fgetc(fp_customer);

if(ch!='#')

{

if(flag==0&&ch!=',')

{

name[i]=ch; i++; }

else if(flag==1&&ch!=',')

{

flight_num[i]=ch; i++; }

else if(flag==2&&ch!=',')

{

seat_num_str[i]=ch; i++; }

else if (ch==',')

{

if(flag==0)

name[i]='\0';

else if(flag==1)

flight_num[i]='\0';

else seat_num_str[i]='\0';

flag++; i=0;

}

else

{

printf("ERROR\n"); return 0; }

}

else

{

flag=0; i=0;

seat_num=changStrInt(seat_num_str);

printf("%15s %15s %10d\n",name ,flight_num ,seat_num );

fflush(stdin);

////insert_cus(l,name,flight_num,seat_num);

}

}

fclose(fp_customer); return 1;

}

status creat_airline(airline **l) // 创建airline单链表

{

airline *p=*l;

int i=0;

char *flight_num[3]={"bjnc01","bjsh02","shgz03"};

char *plane_num[3]={"plane1","plane2","plane3"};

char *destination[3]={"nc","sh","gz"};

int total[3]={100,100,100};

int left[3]={51,50,78};

for (i=0;i<3;i++)

{

insert_airline(&p,flight_num[i],plane_num[i],destination[i],total[i],left[i]);

}

return 1;

}

status creat_customer(customer **l) // 创建customer单链表

{

customer *p=*l;

int i=0;

char *name[3]={"yuyang","lucy","fanhong"};

char *flight_num[3]={"bjnc01","bjsh02","shgz03"};

int seat_num[3]={19,15,10};

for (i=0;i<3;i++)

{

insert_customer(&p,name[i],flight_num[i],seat_num[i]);

}

return 1;

}

status increase_air(airline *l,char *flight_num,char *plane_num,char *destination,int total) // 增加航线

{

airline *p=l->next ;

for(;p->next !=NULL;p=p->next){}

insert_airline(&p,flight_num,plane_num,destination,total,total);

printf("Adding flight %s successed!\n",flight_num);

return 1;

}

status book(airline *l,char *flight_num,customer *c,char *name) // 订票函数{

airline *p=l;

customer *q=c->next ;

p=l->next ;

for(;q->next !=NULL;q=q->next){}

for(;p!=NULL;p=p->next )

{

if(strcmp(flight_num,p->flight_num )==0)

{

if(p->left >0)

{

printf("Congratulations!Tickets booked!\n");

printf("Your seat_number is: %d\n",(p->total -p->left +1));

insert_customer(&q,name,flight_num,p->total -p->left +1);

p->left --;

return 1;

}

else printf("Sorry!Seats full!\n");

return 0;

}

}

printf("Sorry!No this flight!\n");

return 0;

}

status print_airline(airline *l) // 打印航班信息

{

airline *p=l->next ;

for(;p!=NULL;p=p->next )

{

printf("%8s%8s%8s%9d%9d\n",p->flight_num ,p->plane_num ,p->destination ,p ->total ,p->left );

}

return 1;

}

status print_customer(customer *l) // 打印顾客信息

{

customer *p=l->next ;

for(;p!=NULL;p=p->next )

{

printf("%10s %10s %d\n",p->name ,p->flight_num ,p->seat_num );

}

航空售票管理系统

摘要 伴随着经济的不断发展,必然带动交通业和旅游业务的不断扩大, 特别是航空售票和订票的信息管理日异复杂, 传统的售票方式已经难以满足快节奏, 高效率的现代生活需求,这就要求航空公司要有一套好的售票数据库系统。 一个正常营运的航空公司需要管理所拥有的飞机、航线的设置、客户的信息等,但更重要的还要提供票务管理。面对各种不同种类的信息,需要合理的数据库结构来保存数据信息以及有效的程序结构支持各种数据操作的执行。对数据的添加、修改、删除及查询等方面的操作应简单易行,并且能够具有较好的稳定性。航空售票管理系统主要采用Delphi 7.0做为开发工具,进行开发与设计的。本系统的使用界面具有十分人性化的特征,具有方便的查询功能,对售票、网上订票等方面的操作应简单易行,并且能够具有较好的稳定性。 关键词: 航空;售票;网上订票;管理系统;数据库;SQL语言。

目录 1.开发一个航空售票管理系统的背景和意义 (1) 1.1.传统售票方式的回顾和特点分析 (1) 1.2.航空售票管理系统的应用现状和前景展望 (1) 2.用计算机开发一个航空售票管理系统的可行性分析 (1) 2.1.技术可行性 (1) 2.2.经济可行性 (2) 2.3.法律可行性 (2) 3.开发环境的选择 (3) 3.1.Delphi 7.0简介 (3) 3.2.开发工具的选择 (3) 4.航空售票管理系统的需求分析 (3) 4.1.系统分析 (4) 4.2.系统功能模块设计 (4) 4.3.功能子模块分析 (5) 4.3.1.网上订票模块 (5) 4.3.2.用户查询模块 (5) 4.3.3.用户订票模 (5) 4.4.后台管理系统 (6) 4.4.1.后台管理系统子模块 (6) 4.5. 民航售票管理系统的顶级数据流程图 (8) 4.6. 民航售票管理系统一级数据流图 (9) 4.7. 数据字典定义 (10) 4.7.1.数据项定义 (10) 4.8.E/R模型 (13) 5.详细设计 (14) 5.1.系统的总体流程图 (14) 5.2.系统各模块的实现 (15) 5.2.1.系统登录窗口 (15) 5.2.2.主界面窗口 (16) 5.2.3.信息操作模块 (17) 5.2.4.送票员模块 (22) 5.2.5.员工管理模块 (23) 5.2.6.系统模块 (24) 5.2.7.售票员模块 (25) 5.2.8.前台订票模块 (26)

航空客运订票系统

航空客运订票系统 设计报告 姓名: 班级: 学号: 学院: 专业: 指导: 2013.6.20

目录 1.需求分析 (1) 1.1概述 (1) 1.2 数据需求 (1) 1.3功能性需求 (2) 1.4 其他需求 (2) 2. 概要设计 (3) 2.1数据结构定义 (3) 3.详细设计 (5) 3.1 系统模块图 (5) 3.2 数据结构定义 (6) 3.3 主要模块算法描述 (8) 1.数据的输入和保存 (8) 4.系统实现 (10) 4.1开发环境 (10) 4.2运行界面 (10) 4.3测试用例 (13) 6.参考文献 (14) 7.源程序 (14)

1.需求分析 该项目是制作一个航空客运订票系统,编写系统需求分析的目的是明确软件的功能、界面,使得系统分析人员及软件开发人员能清楚地了解用户的需求,方便开发工作。 1.1概述 随着出行人数越来越多,航空客运所占的比例越来越多,机场的售票压力越来越大,此软件意在解决机场的售票问题让更多的人在家就能购买机票,减轻机场负担。 1.2 数据需求 两个客户名单可分别由线性表和队列实现。为查找方便,已订票客户的线性表应按客户姓名有序,并且,为插入和删除方便,应以链表作存储结构。由于预约人数无法预计,队列也应以链表作存储结构。整个系统需汇总各条航线的情况登录在一张线性表上,由于航线基本不变,可采用顺序存储结构,并按航班有序或按终点站名有序。每条航线是这张表上的一个记录,包含上述8个域、其中乘员名单域为指向乘员名单链表的头指针,等候替补的客户名单域为分别指向队头和队尾的指针。

1.3功能性需求 1.主界面模块:供用户选择使用本系统的各个功能。 2.录入航线信息模块:可以录入飞行目的地、航线号、飞机号、时间、一等舱数量、二等舱数量、三等舱数量。为以后的模块提供数据。 3.查询模块:用户输入目的地后,会显示飞往该地的航班、飞机号、起飞时间、一等舱剩余票数、二等舱剩余票数、三等舱剩余票数。 4.订票模块:用户输入目的地后,会显示飞往该地的航班、飞机号、起飞时间、一等舱剩余票数、二等舱剩余票数、三等舱剩余票数。提示用户是否订票,旅客订票成功后会显示订票成功。不成功会提示旅客进入排队等票。 5.退票模块:用户输入目的地后,会显示飞往该地的航班、飞机号、起飞时间、一等舱剩余票数、二等舱剩余票数、三等舱剩余票数。提示用户是否退票,旅客退票成功后会显示退票成功。 1.4 其他需求 ①界面简洁,美观 ②程序实用交互性好

中国民航机场航空收费管理系统

中国民航机场航空收费管理系统 、系统设计背景 航空服务费是在航空运输过程中,一方(航空公司、机场或其他航空运输服务企业)为另一方(航空公司的班机)提供导航、起降、地面服务、机务、商务等各项服务,需向对方收取的费用或收回为对方垫付的费用等形成的债权、债务。 随着机场的新建、扩建以及航空公司的纷纷成立,带来了航空服务费种类和数量 的增加,这些费用是机场、航管等航空企业实现收入成果的主要手段。由于航空服务费的收取、分配、审核牵涉到多家单位,因此提供一个快捷、合理的服务收费管理系统是民航机场提高服务的有力保障。 以前的服务收费管理系统只局限于中国航空结算中心,由结算中心代理各单位进行服务费的结算。虽然航空收费是机场收入来源的重要组成部分,各机场现有的系统只是完成简单的计算,信息处理效能较低,外场与空管等部门的起降费用处理互不集成,缺少与其他相关系统的连接,给分析管理工作带来一定的困难,使收入结算基本处于手工状态,为了提高航空服务费结算效率,加速资金周转,增加航空服务费收费透明度,提高经济效益,所以开发机场航空收费管理系统势在必行。 新开发的中国民航机场航空收费管理系统是涵盖机场航空服务费业务的管理信息系统。该系统从航管中心、机场外场系统、地面服务公司和候机楼等处采集航班信息,根据相应的航班信息,计算费用,自动形成清算数据和帐务数据,然后对收入进行分配,分配信息经财务接口入机场财务系统,实现帐务数据的自动传递,同时可以生成相应报表,使机场可以直接开帐,实现了服务费当月转账。 、系统总体设计方案 1、系统目标和主要功能 1)自动接收航管系统和机场外场的飞行动态信息,并同时具备手工录入

航空客运订票系统

航空客运订票系统 Company number:【0089WT-8898YT-W8CCB-BUUT-202108】

课程设计报告 课程名称数据结构 课题名称航空客运订票系统 专业通信工程 班级 学号 姓名 指导教师 2013 年 6 月 29 日

湖南工程学院 课程设计任务书 课程名称数据结构 课题航空客运订票系统 专业班级 学生姓名 学号 指导老师张鏖烽田娟秀李杰君 审批 任务书下达日期 2013 年 6 月 23 日 任务完成日期 2013 年 6 月 29 日 目录 1.需求分析 (1) 2.概要设计 (1) 定义“航线”类型 (2) 主函数 (2) 调用关系 (3) 3.详细设计 (3) 航线与客户的存储结构 (3)

各个系统模块 (3) 算法设计 (4) 主函数功能 (6) 整个系统的流程图 (7) 存储结构设计 (7) 4.调试分析 (7) 5.用户使用说明 (8) 6.测试结果 (10) 7.心得体会 (12) 8.附录 (13)

课题名称航空客运订票系统 1.需求分析 航空客运订票的业务活动包括:查询航线、客票预订和办理退票等。试设计一个航空客运订票系统,以使上述业务可以借助计算机来完成。 【基本要求】 (1)每条航线所涉及的信息有:终点站名、航班号、飞机号、飞行周日(星期几)、乘员定额、余票量、已订票的客户名单(包括姓名、订票量、舱位等级1,2或3)以及等候替补的客户名单(包括姓名、所需票量); (2)系统能实现的操作和功能如下: ①录入:可以录入航班情况,全部数据可以只放在内存中,最好存储在文件中; ②查询航线:根据旅客提出的终点站名输出下列信息:航班号、飞机号、星期几飞行,最近一天航班的日期和余票额; ③承办订票业务:根据客户提出的要求(航班号、订票数额)查询该航班票额情况,若尚有余票,则为客户办理订票手续,输出座位号;若已满员或余票额少于订票额,则需重新询问客户要求。若需要,可登记排队候补; ④承办退票业务:根据客户提供的情况(日期、航班),为客户办理退票手续,然后查询该航班是否有人排队候补,首先询问排在第一的客户,若所退票额能满足他的要求,则为他办理订票手续,否则依次询问其他排队候补的客户。 初始化航班信息如下: 通过输入0~5这六个数字选择相应的操作,如:查询航班,订票,退票等操作; 2.概要设计 两个客户名单可分别由线性表和队列实现。为查找方便,已订票客户的线性表应按客户姓名有序,并且,为插入和删除方便,应以链表作存储结构。由于预约人数无法预计,队列也应以链表作存储结构。整个系统需汇总各条航线的情况登录在一张线性表上,由于航线基本不变,可采用顺序存储结构,并按航班有序或按终点站名有序。每条航线是这张表上的一个记录,包含上述8个域、其中乘员名单域为指向乘员名单链表的头指针,等候替补的客户名单域为分别指向队头和队尾的指针。 注:由于“航线”可只用一条单链表记录,故采用全局变量,减少参数的传递。

民航订票系统

1 绪论 1.1 系统设计的目的 为了方便机场工作人员对机票的管理,提高飞机票的管理效率,降低飞机票管理中的出错率,减少信息交流及其带来不必要的开销。需要设计一个民航订票系统,该系统能及时反映航班及机票的剩余数量等信息,可快速的帮乘客订到想要的机票,而乘客也可以通过该系统实现自助退票的功能。 1.2 实现的目标 该系统是由两个人共同设计实现功能,由于一个人的能力有限,该系统仅能实现录入航班信息、查询航班信息、订购飞机票、退订飞机票等一部分功能(航班的信息存储在文件夹中)。 1.3 课题的研究方法 机票管理系统是实现机场机票的预定、统计和分析,提高机票运用的科学管理水平,充分发挥机票利用率,节省订退票时间。系统的主要设计思想是实现对机票的查询、退订等功能。航班的信息以文件的形式存储,用头文件包含、全局变量定义和结构体定义源代码,用结构体数组来存放顾客名、航班号、座位号等信息,用链式结构存储信息。系统的人机接口采用简单的字符界面进行交互。系统的设计方法是结构化设计方法,采用C语言进行开发。软件开发平台采用Visual C++6.0[1]。

2 软件模块结构图 民航订票系统可以分为四个部分,订票、退票、查询信息、信息载入。 图2.1 民航订票系统模块结构图

3 详细设计 3.1 数据结构设计 用printf()函数输出界面,typedef struct airline{}定义航班的信息,如航班号、飞机号、目的地、座位总数和剩余座位数等。typedef struct customer{}定义顾客信息,如顾客名、所订航班号和座位号等。初始化链表,并在airline、customer 链表中操作,实现系统的功能[1]。 3.2 模块设计 3.2.1 界面设计 用printf()函数输出界面,提示用户选择需要的功能,用条件语句捕捉用户输入的选项,并执行代码,进入用户所选的操作界面。若用户输入非选项的字符,则提示输入错误,提醒用户重新选择。 3.2.2 订票模块设计 进入订票模块后,进行订票。若票已经售完,提示用户不能预订该航班的机票。若还有余票,则提示用户输入个人信息订票。订票成功后,系统中该航班的余票减少相应的数量,并将顾客信息存入文件[2]。代码实现: status book(airline *l,char *flight_num,customer *c,char *name) { airline *p=l; customer *q=c->next ; p=l->next ; for(;q->next !=NULL;q=q->next){} for(;p!=NULL;p=p->next ) { if(strcmp(flight_num,p->flight_num )==0) { if(p->left >0)

航空客运订票系统

通达学院程序设计报告(2017 / 2018 学年第一学期) 题目:航空客运订票系统 专业计算机科学与技术 学生姓名 班级学号 指导教师吴晓诗 指导单位计算机学院计算机科学与技术系 日期2017.11.21-2017.12.8

航空客运订票系统 一、课题内容和要求 1.航空客运订票的业务活动包括:查询航线、客票预定和办理退票等。要求在TC 或VC环境下设计一个航空客运订票系统,以使上述业务可以借助计算机来完成。 2.要求: (1)每条航线所涉及的信息有:终点站名、航班号、飞机号、飞行日期(星期 几)、乘员定额、余票量、已经订票的客户名单(包括姓名、订票量)以及等候替补的客户名单(包括姓名、所需票量)。 (2)作为模拟系统,全部数据可以只存放在内存中。 (3)通过此系统可以实现如下功能: ①录入功能:可以录入航班情况 ②查询功能:根据客户提供的终点站名进行查询,可以输出以下信息:航班号、 飞机号、星期几飞行和余票量等。也可以根据航班号,查询飞机某个航线的情况。 ③订票功能:根据客户提出的要求(姓名、终点站名、订票数量)查询该航班的 余票量情况。如尚有足够的余票,则为客户办理订票手续;若已满员或余票量少于订票数量,则需要重新询问客户要求,如需要,可登记排队候补。 二、需求分析 )运行环境(软、硬件环境) Window10 64位codeblocks 使用语言:c++ 2)输入的形式和输入值的范围 由航空公司输入航线情况并以单链表的形式存储在内存里面 3)输出的形式描述 通过客户的输入输出相应的内容

4)功能描述 用户通过本系统实现该航空公司的查询、订票(包括候补)、和退票功能 5)测试数据 三、概要设计 1)流程图示意 2)抽象数据类型定义描述 (对各类的成员及成员函数进行抽象描述,参见书或ppt 及实验) 一条航线包括了目的地、航班号、飞机号、飞行周日、总票数、余票量、订票人员、候补人员等信息,我们可以将航线看成一类,定义为一个类,而订票人员通

航空公司管理信息系统

航空公司管理信息系统 一个正常营运的航空公司需要管理所拥有的飞机、航线的设置、客户的信息等,更重要的还要提供票务管理。面对各种不同种类的信息,需要合理的数据库结构来保存数据信息以及有效的程序结构支持各种数据操作的执行。 本章我们将以一个航空公司管理信息系统为例子,来讲述如何建立一个航空公司管理信息系统。 1.1 系统设计 1.1.1 系统功能分析 系统开发的总体任务是实现各种信息的系统化、规范化和自动化。 系统功能分析是在系统开发的总体任务的基础上完成。本例子中的航空公司管理信息系统需要完成功能主要有: ●舱位信息的输入和修改,包括舱位等级编号、舱位等级名称、提供的各种服务类别, 以及备注信息等。 ●客机信息的输入、修改和查询,包括客机编号、客机型号、购买时间、服役时间、 经济舱座位数量、公务舱座位数量、头等舱座位数量以及备注信息等。 ●航线信息的输入、修改和查询,包括航线编号、出发城市、到达城市、航班日期、 出发时间、到达时间、客机编号、经济舱价格、公务舱价格、头等舱价格和备注信 息等。 ●客户等级信息的输入、修改,包括客户等级编号、客户等级名称、折扣比例和备注 信息等。 ●客户信息的输入、修改和查询,包括客户编号、客户姓名、客户性别、身份证号码、 联系电话、客户类型和备注信息等。 ●订票信息的输入、查询和修改,包括订票编号、客户编号、客户姓名、客户类型、 折扣比例、航线编号、出发城市、到达城市、出发时间、舱位类型、票价、结算金 额和备注信息等。 1.1.2 系统功能模块设计 对上述各项功能进行集中、分块,按照结构化程序设计的要求,得到如图1-1所示的系统功能模块图。 图1-1 系统功能模块图

航空客运订票系统的设计与实现

课程设计说明书 课程名称 题目航空客运订票系统的设计与实现 院系_电子信息工程学院____ 班级__计算机科学与技术__ 学生姓名______________ 指导教师_____________ 日期_ 2011.12.19-2011.12.30__ 数据结构课程设计任务书

指导教师:时间: 2011.12.8 航空客运订票系统的设计与实现

一、简介 1.设计目的: 1.数据结构课程设计是综合运用数据结构课程中学到的几种典型数据结构,以及程序设计语言(C语言),自行实现一个较为完整的应用系统的设计与开发 2.通过课程设计,自己通过系统分析、系统设计、编程调试,写实验报告等环节,进一步掌握应用系统设计的方法和步骤,灵活运用并深刻理解典型数据结构在软件开发中的应用。 3.学会将知识应用于实际的方法,提高分析和解决问题的能力,增加综合能力。 航空空订票系统: (1)熟练掌握链表存储结构及其建立过程和常用操作; (2)熟练掌握队列的建立过程和常用操作; (3)学会自己调试程序的方法并掌握一定的技巧。 2.问题的描述: 航空客运订票的业务包括查询航线和客票预定的信、客票预定和办理退票等,设计一个程序以使上述任务借助计算机完成。 二、数据结构的设计: (1)航班信息:飞机抵达城市、航班号、飞机号、起降时间、航班票价、票价折扣、总位置和剩余位置、以訂票的客户名单。 (2)客户信息:客户姓名、证件号、座位号。 三、功能(函数)设计: 1.每条航线所涉及的信息有:终点站名、航班号、飞机号、飞行日(星期几)、载客量、余票量、票价格,折扣,已订票的客户名单(包括姓名、订票量、舱位等级1,2或3)以及等候替补的客户名单(包括姓名、所需票量);

民航订票管理系统

实验十三数据库管理系统综合应用 -------民航订票管理系统 一、实验目的: 通过完成从用户需求分析、数据库设计到上机编程、调试和应用等全过程,进一步了解和掌握所讲解的内容。 二、实验简述: 民航订票系统主要分为机场、航空公司和客户三方的服务。航空公司提供航线和飞机的资料,机场则对本机场起飞和降落的航班和机票进行管理,而客户能得到的服务应该有航班线路和剩余票数的查询,以及网上订票等功能。客户又可以分为两类,一类是普通客户,对于普通客户只有普通的查询功能和订票功能,没有相应的机票优惠,另一种是经常旅客,需要办理注册手续,但增加了里程积分功能和积分优惠政策。机场还要紧急应对措施,在航班出现延误时,要发送相应的信息。 三、实验要求: 完成该系统的数据库设计; 用SQL实现数据库的设计,并在SQL Server上调试通过。 四、参考答案: 1、需求分析 (1)航空公司 航空公司的操作流程如图C.1所示。 图C.1 航空公司操作分类表 (2)客户 客户的操作流程如图C.2所示。

图C.2 客户操作分类表 (3)机场 机场的任务是根据航空公司提供的航线和飞机,安排航班,以及航班的机票。如果出现晚点等情况,要记录并发送信息,对特殊客户记录其消费信息,并相应提供优惠。 (4)客户订票 客户订票涉及到多个因素:由客户提出订票申请;由机场管理航班机票;对于特殊客户,除给予票价优惠以外,还要累计里程;订票后需判断是否超员。这些因素涉及到客户资料、航班资料以及由航空公司提供的航线(里程)和飞机(座位数)资料中所提供的相关数据。 客户订票的操作流程如图C.3所示。 2、概念模型设计 数据库需要表述的信息有以下几种: (1)航空公司信息 (2)客户信息 (3)飞机信息 (4)航线信息 (5)航班信息 (6)订票信息 (7)特殊客户积分

民航旅客管理系统

目录 摘要 (1) 一、项目开发背景 (1) 二、系统分析 (2) (一)可行性分析 (2) (二)组织结构调查,管理功能分析 (2) (三)E-R图 (6) 三、系统设计 (7) (一)概要设计 (7) (二)系统功能结构设计 (8) (三)数据库设计 (8) 四、系统实施 (9) (一)系统运行时的环境 (9) (二)主要的界面及脚本介绍 (9) 小结 (22) 参考文献 (22)

不死鸟航空公司客户管理系统 (计算机应用专业) 摘要:不死鸟,又叫做菲尼克司。是一种神话中的鸟类,它与埃及神话中 的太阳神和希腊神话中的阿波罗有着密切的关系。不死鸟航空公司以不死鸟为吉祥物,以安全的飞行,热情的服务,美好的经历致力打造航空中的“不死鸟”。近年来,随着计算机技术的发展和互联网时代的到来,当今社会已经进入了信息时代,也有人称为数字化时代,在这数字化的时代里,传统的机票预定形式已经跟不上历史的潮流。电子机票预定系统就是为满足各种用户,公司企业的需求,而开发的一套实用的系统。通过互联网创建网络机票预定系统,可以宣传航班的线路和其他产品,招揽更多的旅客购买机票,从而为航空公司带来更多的经济效益。使用网络机票预定系统还可以为航空公司节省人力成本,提高工作效率,从而增强企业的竞争力。 因此基于以上的考虑在开发网络订票系统—中采用目前比较流行并且技术已经十分成熟的三层构架技术来实现航班管理对航班信息、机票信息、用户信息、订单信息的便捷管理,而数据库则采用轻量级的数据库MySql不但可是对系统数据更高效的管理而且便于系统的移植和跨平台操作,实现了航班管理的数字化、信息化,减少了人力,节省了财力,提高了企业运作的效率对有效控制机票销售提供了必要的信息情报为企业节省了不必要的浪费。因此网络机票预定系统---实现了对航班信息、机票信息、用户信息、订单信息的查询、录入、修改等基本操作。但还有待于进一步发掘深层次的用户需求进行二次开发完善其功能性,使该系统在操作方面更方便、操作界面更加友好。 关键字:航班订票;数据库;Microsoft Visual Studio 2008 一、项目开发背景 目前,国内的上网人数急剧倍增,以及随着人们生活水平的提高,选择航空出行的人们越来越多,这对航空公司来说是个好消息,但是,航空公司间的竞争也日趋激烈,如果航空公司不能做到定退票的方便服务,很可能会被淘汰,所以不死鸟航空公司紧跟时代潮流,开发网上订票系统方便旅客轻轻松松实现定退票。既节省了用户的时间和金钱也简化了机票销售人员的工作。以高效化、系统化、规范化、科学化的网络机票预定模式是顺历史潮流而动,是大势所趋。 今天已经步入了网络时代。互联网的普及为网络服务和电子商务注入了新的活力,网络服务成为增长最快、最具活力的领域。因此,本系统的目标是一个可以面向网络交互的真正意义上的网络服务,让用户体会到网络的方便与快捷。在计算机网络,数据库和先进的开发平台上,利用现有的软件,配置一定的硬件,开发一个具有开放体系结构的、易扩充的、易维护的、具有良好人机交互界面的机票预定系统。实现航空公司的机票销售的自动化的计算机系统,为企业的决策层提供准确、精细、迅速的机票销售信息。最终使本系统可以面向一切网络用户。

航空客运订票系统

洛阳理工学院 课程设计报告 课程名称数据结构课程设计 设计题目航空客运订票系统 专

课程设计任务书 设计题目:航空客运订票系统__________________________________ _________________________________________________________ 设计内容与要求: 内容: 录入:可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定) 查询:可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓);可以输入起飞抵达城市,查询飞机航班情况; 订票:(订票情况可以存在一个数据文件中,结构自己设定)可以订票,如果该航班已经无票,可以提供相关可选择航班; 退票:可退票,退票后修改相关数据文件; 客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。 修改航班信息:当航班信息改变可以修改航班数据文件 要求: 根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能。 课程设计评语 成绩: 指导教师:_______________ 年月日

目录 一.问题描述 (2) 二.基本要求 (2) 三.数据结构 (2) 四.总体设计 (3) 五.详细设计 (4) 5.1录入功能 void lurugongneng() (4) 5.2查询功能 void chaxungongnen() (4) 5.3订票功能 void dingpiaogongnen() (6) 5.4退票功能 void tuipiaogongnen() (7) 5.5修改功能 void xiugaigongnen() (8) 六.测试与调试 (9) 6.1 程序的模块 (9) 6.2 程序的调试 (9) 6.3 测试结果 (9) 七.源程序清单 (16)

航空订票系统测试(学术参考)

航空机票预订系统软件编码和测试说明书 1引言 1.1编写目的 作为软件工程过称的一个阶段,编码是对设计的进一步具体化,因此,程序的质量主要取决于软件设计的质量,但所选用的程序设计语言的特点和编码风格也将对程序的可靠性、可读性、可测试性和可维护性产生深远的影响。 但在开发如此复杂的航空订票系统软件的过程中,面对着极其错综复杂的问题,人的主观认识不可能完全符合客观现实,与工程密切相关的各类人员之间的通信和配合也不可能完美无缺,因此,系统一定会存在差错。测试的目的就是在软件投入生产运行之前,尽可能多的发现并改正软件中的错误。 编码阶段可参考概要设计和详细设计说明书,软件测试以及软件维护阶段也可参考编码和详细设计说明书,以便于了解在概要设计及详细设计的过程中所完成的各模块设计结构,或在测试阶段找出各模块的设计思路和流程。 该文档的读者为用户代表、软件分析人员、开发管理人员和测试人员。 1.2背景 ①名称:机票预订系统 ②委托方:某某航空公司 ③开发方:某某团队 ④组成:编码模块分组,服务器,编码人员,测试人员 ⑤本系统与其他系统的关系如下: 系统的详细 设计 编码测试实现验证 修改

1.3定义 黑盒测试:黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑 程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查 程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当 地接收输入数据而产生正确的输出信息。黑盒测试着眼于程序外部结 构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。 黑盒测试是以用户的角度,从输入数据与输出数据的对应关系出发进 行测试的。很明显,如果外部特性本身设计有问题或规格说明的规定 有误,用黑盒测试方法是发现不了的。 白盒测试:白盒测试也称结构测试或逻辑驱动测试,它是按照程序内部的结构测试程序,通过测试来检测产品内部动作是否按照设计规格说明书的规 定正常进行,检验程序中的每条通路是否都能按预定要求正确工作。 这一方法是把测试对象看作一个打开的盒子,测试人员依据程序内部 逻辑结构相关信息,设计或选择测试用例,对程序所有逻辑路径进行 测试,通过在不同点检查程序的状态,确定实际的状态是否与预期的 状态一致。 1.4参考资料 (1)张海藩《软件工程导论》(第五版)北京:清华大学出版社。 (2)《机票预订系统需求分析说明书》 (3)《机票预订系统可行性分析说明书》 (4)《机票预订系统概要和详细设计说明书》 2 各模块的实现: 本系统主要用于机票预订,所以提供了以下几个子功能:机票预订,取票通知,查询航班,查询机票,退票,打印机票,各航班的营运统计,以及后台方面的航班的添加,取消航班,机票的生成,以及航班的查询等后台功能。

机票购票和售票管理系统设计

随着国家经济的不断发展,人们生活水平的不断提高,互连网已经成为人们日常生活,成为办公学习中不可缺少的组成部分。而随着互连网的不断普及,网络技术也得到了快速的发展,特别是在网络销售,办公管理方面发展尤为迅速。机票在线订购管理系统正是在这种环境之下制作完成的,随着网络技术的飞速发展和人民生活水平的不断提高,航空公司已不再满足于独立、零散的办公自动化应用和机票销售管理,航空公司需要的是协同工作、综合、集成化的解决方案。而网络是解决由于物理距离造成的信息交流不畅、协商沟通不便的管理瓶颈问题的最佳方式。机票在线订购管理系统是通过对机票在线预订销售管理各要素的闭环整合,实现了工作流、信息流、和办公自动化的整合管理,提供了一个科学、开放、先进的信息化机票在线预订平台,实现了航班信息管理、机票信息管理、机票预订管理等管理内容的高度继成。机票在线订购管理系统将航空公司机票销售管理人员从繁琐、无序、低序、低端的工作中解放出来从事核心事务,整体提高了航空公司机票预订销售的工作效率、提高了机票预订管理的可控性,降低了管理成本,提高执行力,使机票在线预订销售信息管理趋于完善。 以往的传统购票和售票管理模式(即手工管理模式)下,各方面的数据采集和反馈都是需要一定的时间传递的,因此耗时多、速度慢,还同时存在易出错、易失真、易丢失等问题,信息在传递中发生错误甚被遗失的情况严重。而且传统的手工管理模式并没有有效利用先进的现代化通讯技术,远程订票业务无法实现,那么地处偏远的顾客就会存在购票不便的困难,同时,手工管理模式会导致公司的各项服务衔接不利,为顾客的购票甚至出行带来诸多不便,不能使顾客有很好的服务体验,顾客满意度不高会影响了公司的名誉,而且公司自身的经营效率也很低。航空订票系统应运而生,它的目标就是提升航空公司的经营效率、为顾客出行提供便利条件,采用各种先进的现代化技术,结合优良的组织管理方式,对航空公司的订票业务全过程进行有效的管理。 网络技术的不断发展为很多传统行业提供了改革的契机,机票在线订购管理系统必将在未来的航空公司票务销售管理工作中发挥越来越重要的作用。“机票在线订购管理系统”的设计采用当今最为流行的网络编程语言之一的JA V A制作,数据库采用MYSQL,提高了数据的存储安全性,另外采用tomcat服务器加快了系统的整体访问速度,利于系统和用户之间的交互,“机票在线订购管理系统”

航空客运订票系统

这是我上网搜的一个材料,大家看一下,我们这次课程设计用java语言来实现,大家仔细看一下项目需求分析,基本要实现的功能如下,大家自己也在网上下些资料,共享一下,人多力量大,好好研究研究项目,下周会聚集大家讨论一下,定下每个人要完成的任务,大家一定要仔细研究,到时候有什么要添加修改的都提出来,做到让项目完美。 航空客运定票系统应该为客户提供三个基本的功能:查询航线、客票预定和办理退票。 (一)查询航线: 能够根据客户提出终点站名输出相关的信息,包括航班号、飞机号、飞行日期、载员定额、余票量、已定票的客户名单(包括该客户的姓名、定票量、舱位等级)以及等候替补的客户名单(包括姓名和所需票量)、最近一天航班的日期和余票额; 由于航空公司的航班保持基本不变,所以应该采用顺序存储结构将各条航线的基本情况登陆在一张线性表上,按照终点站名有序排列。 (二)客票预定: 根据客户提出的要求(航班号和定票数额)查询该航班的余票情况。如余票能够满足客户的要求则为客户办理定票手续并输出相应的座位号;若该航班已经满员或余票额少于客户的定票额,则需重新询问客户需求。若需要可登记排队候补并留下客户的联系方式,不需要则退出。 在客票预定这一环节里将出现两个客户名单:已定票客户名单和需定票客户名单。两客户名单可分别由线性表和队列实现。为查找方便,已定票客户的线性表应按姓名有序,同时为了插入和删除方便,,应以链表作为存储结构。由于无法知道预约的人数,队列也应该以链表作为存储结构。 (三)办理退票: 根据客户提供的情况(日期航班),为客户办理退票手续,同时在系统中删除该客户的基本信息。然后查询该航班是否有人排队替补,首先访问排在第一的客户,若退票额能够满足他的要求,则为他办理定票手续,否则依次询问其他排队候补的客户。 从问题的提出可以看到,我们需要的只是能实现对数据的插入,删除,检索这样一个软件。由于乘客的数量较大并且不固定,因此选择用链表来保存乘客的基本信息:包括乘客的姓名,身份证号,搭乘班机的航班号,以及预定的座位号(假设座位预先订号)。为了将这些信息保存起来以备下次程序运行时调用,将必需的信息写入文件中,在程序的初始化时读入。综合一下来看,我们需要做的是建立一个可以插入和删除节点的链表,并能检索这个链表,在必要的时候将链表的内容保存到文件中。 任何一家航空公司都想尽可能的为客户提供优质的服务。设计这样一个面向顾客的航空订票系统,最重要的就是设计的功能人性化,这就要求:采用先进的设计理念与开发工具,用技术全面提升服务,保证系统功能的强大与完整;具有高可靠性和强大有效的容错能力是系统

航空订票管理系统-软件项目管理课程设计报告

软件项目管理 课程设计报告 专业:软件工程 年级: 学号: 学生姓名: 题目名称:航空订票管理系统 指导老师: 完成时间: 1、项目概述 目前,国内航空公司的数量和规模都在扩大,国外航空公司也纷纷着陆中国,这些航空公司之间的竞争可谓日益激烈。配备一个安全、高效、灵活、可靠的客户服务中心系统对于航空公司加强客户服务质量,提高客户服务水平,扩展业务途径,维护公众形象,提高工作效率必将发挥重要作用。 对航空公司来说,航空订票管理系统既能扩大服务范围,扩大公司影响,减少营业费用,又对稳固航空公司的客源有着重要的辅助作用;站在旅客的角度,航空公司提供的这种服务提供了更多的方便,节省了很多时间。建设航空订票管理系统是体现和提高航空公司领导业绩的一条捷径,此外还具有重要意义: 1、改善航空公司服务质量; 2、创造和提升航空公司的品牌优势; 3、优化航空公司的服务流程; 4、提升信息化的水平; 2、工作任务(Statement Of Work,SOW)书 进入信息时代后,人们对航空订票的运作实现信息化管理的要求越来越高,随着社会的生活节奏化,为了方便大众,提高工作效率,该系统的建设实现对航空订票的高效率信息化管理。该系统一方面实现对大众的自助服务功能;如:网上订票、退票、查询等功能。另外还要实现系统管理员对整个系统资源的信息化管理,如:用户管理。

一、整体要求 1.系统用例图 2.用例描述 (1)航班查询 查看航班信息基本查询,从下拉列表中选择航班或起点或终点信息 综合查询,手动输入航班的基本信息 (2)订票 输入航班信息显示航班信息,以及打折后的票价信息,询问信息是否正确正确输入个人信息完成订票 不正确返回订票初始界面 (3)退票 输入将退票的序号显示票的具体信息,并询问是否退票退票成功,更新顾客数据库 (4)管理

民航售票管理系统实验报告

[键入文档标题] [键入文档副标题] 安徽大学 计算机科学与技术1班 陈斌E 陈柚霖E 刘昊霖E 2016-9-20

目录

一、目的及要求 1.实验目的 (1)通过本次课程设计,熟练掌握一种开发语言(如C#)和一种数据库系统软件 (如SQL?server?2014)的使用。 (2)加深对软件工程的理解,训练编写程序的良好习惯。包括:认真编写需求分 析文档、做好系统功能和数据库设计、学会自己进行程序的算法、数据结构设计。 (3)培养良好的程序设计风格(模块划分、接口设计、程序界面、应用系统设计) 和习惯(程序备份、版本更新与控制),提高软件测试、调试的能力与技巧。 (4)通过本次课程设计,应该达到具有独立完成小型应用系统设计的能力,具备 编写较为规范的软件设计文档的能力。 2.实验要求 民航售票管理系统主要分为机场、航空公司和客户三方的服务。航空公司提供航线和飞机的资料,机场则对在本机场起飞和降落的航班和机票进行管理,而客户能得到的服务应该有航班线路和剩余票数的查询,以及网上订票等功能。客户又可以分为两类,一类是普通客户,对于普通客户只有普通的查询功能和订票功能,没有相应的机票优惠,另一种是经常旅客,需要办理注册手续,但增加了里程积分功能和积分优惠政策。机场还要有紧急应对措施,在航班出现延误时,要发送相应的信息。 本系统至少能完成如下查询功能: (1)查某代售地某月售出的票数和金额。 (2)查航空公司拥有多少航班。 (3)查某天某航空还剩多少票或座位。 (4)查某天某航空还剩商务舱座位以及经济舱座位票价。 (5)查某航空公司拥有多少售票点、某月售出总金额以及某航线售出票数。

航空客运订票系统(论文)

信息科学与工程学部 数据结构课程设计 题目航空客运订票系统姓名 学号11430625150894学院信息科学与工程学院专业、年级软件工程1101班指导教师 2012 年 11月 27 日

摘要 随着科技与经济的发展,人们的生活水平不断的提高,旅游业的逐渐的成熟发展,人们追求快节奏的生活方式,越来越多的人选择乘飞机,从而国内国际的航班不断的增加。航空客运量大幅的提高,也促使了航空业得到迅速的发展。而且随着网络的盛行,航空订票系统就显得尤为重要,所以航空客运订票系统主要是为了方便人们,让人们能够快速、清晰、准确地了解航班信息而不至于象以前那样排队等候,从而避免耽搁乘客大量的等待时间,使旅客轻松快捷的踏上愉快的旅程。 该航空客运订票系统分为乘客操作模块和系统管理员操作模块。乘客操作模块包含了浏览所有航班信息、办理订票业务、办理退票业务,航班查询、等候订票人登记功能,而管理员操作模块包含添加航班、删除航班、查看已订票人信息、查看等待订票人信息功能,最后就是退出系统功能。 该系统主要运用动态线性链表和动态线性队列及其文件的保存与读取完成的。航班线性链表中每一个结点包含了航班号、飞机号、终点站名、起飞时间、乘员定额、票价、余票量,已订票人的信息的链表和排队候补人的信息的链表等内容。 本系统在Visual C++ 6.0环境下进行开发,根据我们自身所学的知识利用动态线性链表、动态队列链表和文件操作实现了对数据的保存、读取等功能,达到了预定要求。 该系统虽然还存在一点点不足,那就是对乘客的座位号和座舱等级的具体安排没有实现,但该系统的所有功能均能实现,并且系统考虑的问题全面、易于操作、界面简单明了、服务器程序利于维护。 关键词:动态线性链表;动态队列链表;文件操作;订票

《管理信息系统》课程设计报告--航班售票管理系统设计报告

航班售票管理系统设计报告 一、系统分析 (一)可行性分析 国际民航业的激烈竞争又迫使担负国际航线运输任务的航空公司必须尽快推出自己的因特网售票系统,而这些又必须由一个安全的网上订票与支付系统作支持。更重要的还要提供票务管理。面对不同种类的信息,需要合理的数据库结构来保存数据信息以及有效的程序结构支持各种数据操作的执行。航空业身处信息时代的电子商务大潮中,加之传统的售票方式已经不能满足现今航空业的发展,于是航空售票管理系统就自然而然被应用。 由于本系统管理主要是对机票的管理,且每个数据内容具有较强的关联性,涉及的计算过程不是很复杂。因此,比较适合于采用数据库管理。且航空公司用于机票管理的微机都是PIII以上的机器,在存储量、速度方面都能满足数据库运行的要求。在技术难度方面,由于有相关参考文献,还有就是网上资料,特别是参考其它程序的功能,因此完全可以实现系统的投资约50万元,待5年后更新,年使用费约10万元,在经济上是可行的。 (二)需求分析 1、航班售票管理系统开发目标 售票/订票是民航业务中的一个最基本的业务,表面上看,它只是民航业务的一个简单的部分,但是它涉及到资金管理与客户服务等多主面,因此,过去传统的售票方式已经不能满足现代航空业务流量剧增的客观要求,本课程设计便是利用开发工具VF6.0开发一个民航售票管理系统,它能方便快捷地运用在民航业务的营运之中。 2、航班售票管理系统的主要功能 本系统设计主要是根据售票业务的基本流程进行的,系统功能十分强大,包括如下几个方面:订票管理、乘客查询与退票管理、查询飞行时刻窗口和系统维护四方面内容。其中,订票系统至少要满足: (1)每一航班的乘客乘坐飞机的起点、终点、日期和可以使用(预订)的座位等基本信息。 (2)自动显示符合乘客要求的航班及座位是否存在(是否还有空位) (3)查询每一航班的售票订票情况、乘客信息及售票收入金额。 (4)可以按五种方式查询航空公司的航班时刻表信息。 3、航班售票管理系统业务流程分析

民航票务管理系统分析和设计

数据库原理及应用课程设计任务书 指导教师(签章): 2008 年 1 月 3 日

计算机工程系 数据库原理及应用课程设计报告 选题名称:民航票务管理系统 系(院):计算机工程系 专业:计算机科学与技术(信息安全方向) 班级:信息 1 0 5 1 姓名:高博学号: 1051303116 指导教师:冯万利王红艳 学年学期:2007 ~ 2008 学年第 1 学期 2008 年 1 月 3 日

摘要: 随着信息技术在管理上越来越深入而广泛的应用以及信息的不断海量化,在很多行业对信息的管理不得不依赖计算机,而不是使用比较原始的纯人力管理方法。在当今,各行各业都有很多计算机管理的系统,特别是民航方面,每天,有上千万的人次订票、买票或者乘坐飞机,如果采取传统的人工售票或登记的方式会大大影响机场运作的效率,并且也无法避免一些人为的错误。所以一个好的票务管理系统由为重要,特别是现在很多人喜欢提前订票或上网订票,自然,好的票务管理系统不仅需要快捷方便的操作、优秀的保存和统计功能、还要应付大容量数据的快速查找和保存及应付长时间的工作需要,必须保证系统的稳定性和安全性,更重要的是,安全的票务管理系统不仅需要有能够防护各种病毒和黑客恶意攻击的能,还需要有能够应付突发状况的能力,比如突然断电之后,系统的售票信息和当前正在进行的进程、操作应该怎么处理,或者,系统突然死机之后,所有数据又应该怎样处理等等。这些问题都是我们在实际生活中经常会遇到的,所以,能不能解决上述问题就成了评价一个好的票务管理系统的主要依据。而这次的课程设计则是根据票务管理系统中的最主要的功能,结合数据库中所学的知识,来实现一个简单的民航票务管理系统,供学习和研究之用! 关键词:民航票务管理系统;数据库;查询;修改;https://www.360docs.net/doc/3e698375.html,

数据结构大作业航空公司订票系统

航空公司订票系统 一、我的认识和设计思路 1.我充分利用数据结构课程设计,利用几种典型数据结构(链表,队列,线性表等结构),结合上学期学习的程序设计语言(C/C++语言),链表是实现存储空间动态管理的链式存储结方式,而队是一种操作受限的线性表。使用大量指针,来实现一个比较完整的应用系统的设计与开发。 2.我通过课程设计一些程序的调试(比如背包问题,病人看病模拟程序,停车场管理程序),通过比较系统的分析、编程和不断调试,进一步理解和掌握应用系统设计的方法和步骤,灵活运用并深刻理解典型数据结构在软件开发中的应用。基本上达到了复习的要求。 3.我将知识应用于实际的方法,联想到售票系统的使用,也可以提高综合能力。所以我选择了航空订票系统,也可以应用于其他售票系统。 航空空订票系统所涉及的知识: (1)熟练掌握链表存储结构及其建立过程和常用操作; (2)熟练掌握队列的建立过程和常用操作; (3)学会自己调试程序。 4. 通过上网查询和结合实际可知,航空客运订票的业务活动包括:查询航线、客票预订和办理退票等等。设计了一个航空公司订票系统,以使上述业务可以借助计算机来完成。 下面是一些程序功能设想: 1.每条航线所涉及的信息有:终点站名、航班号、飞机号、飞行日(星期几)、乘员定额、余票量、已订票的客户名单(包括姓名、订票量、舱位等级1,2或3)以及等候替补的客户名单(包括姓名、所需票量); 2.全部数据可以只放在内存中; 3.系统能实现的操作和功能如下: a) 查询航线: 根据旅客提出的终点站名输出下列信息:航班号、飞机号、星期几飞行,最近一天航班的日期和余票额;

b) 承办订票业务: 根据客户提出的要求(航班号、订票数额)查询该航班票额情况,若尚有余票,则为客户办理订票手续, 输出座位号;若已满员或余票额少于定票额,则需重新询问客户要求。若需要,可登记排队候补; c) 退票业务: 根据客户提供的情况(日期、航班),为客户办理退票手续,然后查询该航班是否有人排队候补,首先询问排在第一的客户,若所退票额能满足他的要求,则为他办理订票手续,否则依次询问其他排队候补的客户。 功能系统图: 实现的功能模块说明 (1)显示全部航线的信息; (2)查询订票客户的信息; (3)根据客户提供的终点站,调用find()函数进行查找,调用list()函数输出航线信息; (4)办理订票业务:根据客户提供的航班号进行查询航线信息,若客户订票额超过乘员定票总额,退出,若客户订票额末超过余票量,订票成功并登记信息,在订票乘员名单域中添加客户信息;如果暂时没有票,询问客户是否要排队等侯,如果是,则在等候队列增加该客户的订票信息。 (5)办理退票业务:调用查询函数,根据客户提供的航线进行搜索根据客户提供的姓名到订票客户名单域进行查询。退票成功后,重新将航线名单域指向订票单链表的头指针。根据队列中从出的客户信息判断是否满足要求,如果满足,则将该客户的信息插入到乘客信息链表中。

相关文档
最新文档