航空订票系统

航空订票系统
航空订票系统

淮阴工学院

算法设计技能训练报告

姓名: 学号:

班级: NIIT1151

学院: 计算机与软件工程学院

专业: 计算机科学与技术

题目:

航空订票系统

指导教师:

2016 年12 月

目录

1 课题任务描述 (1)

1.1查询航线: (1)

1.2承办订票业务: (1)

1.3承办退票业务: (1)

1.4实现提示: (1)

2 系统设计 (1)

2.1主界面模块 (1)

2.2算法设计 (2)

3.详细设计 (3)

3.1.录入航班 (3)

3.2.主界面选择 (3)

3.3查询 (3)

3.4.订票 (4)

3.5.退票 (4)

3.6关键代码 (4)

4 测试 (15)

结论 (17)

致谢 (18)

参考文献 (19)

1 课题任务描述

每条航线所涉及的信息有:终点站名、航班号、飞机号、飞机周日(星期几)、乘员定额、余票量、订定票的客户名单(包括姓名、订票量、舱位等级1,2或3)以及等候替补的客户名单(包括姓名、所需数量)。

1.1查询航线:

根据客户提出的终点站名输出如下信息:航班号、飞机号、星期几飞行,最近一天航班的日期和余票额;

1.2承办订票业务:

根据客户提出的要求(航班号、订票数额)查询该航班票额情况,若有余票,则为客户办理订票手续,输出座位号;若已满员或余票少余订票额,则需重新询问客户要求。若需要,可登记排队候补;

1.3承办退票业务:

根据客户提出的情况(日期、航班号),为客户办理退票手续,然后查询该航班是否有人排队候补,首先询问排在第一的客户,若所退票额能满足他的要求,则为他办理订票手续,否则依次询问其它排队候补的客户。

1.4实现提示:

两个客户名单可分别由线性表和队列实现。为查找方便,已订票客户的线性表应按客户姓名有序,并且,为了插入和删除方便,应以链表作为存储结构。由于预约人数无法预计,队列也应以链表作为存储结构。

2 系统设计

2.1主界面模块

表1

2.2算法设计

本程序定义了三个类,分别为乘客类,候补乘客类,航班类,并定义了若干函数(如:输出所有航班函数,输出所有乘客函数,增加航班函数等),用主函数将他们联系起来,实现了预订航班查询航班的快捷操作。

使用前需要首先由工作人员进行录入航班,然后再使用。使用中通过用户的选择不同,程序执行不同的操作。

对于此程序的时间空间复杂度,主要是对于调用各种输入输出函数的复杂度分析:时间复杂度:O(n);空间复杂度:O(n)。

刚开始编写时,只定义了两个类,乘客类和航班类,在做候补名单时不方便操作,而且不能单图处理候补乘客,因为其意义和普通乘客不一样,所以也不能将各种信息录入到乘客类中。

解决方法:重新定义一个类,单独用来保存候补乘客信息

由于本程序的时间要求只是用星期表示,所以只有1到7的选择,刚开始没有考虑到这个问题,所以输入时可以输入比7大的数,这样就不符合要求,使录入信息无意义。

解决方法:使用判定语句,如果大于7,则叫用户重新输入

当每个单独的功能实现后,应该返回哪一步,刚开始编写程序时,是使全部返回主

界面,这使得很多操作过于繁琐,比如当用户查找了所有航班,想单独查看某一航班时间,必须首先退回主界面重新选择。

解决方法:通过把功能的图画出来,搞清哪些程序功能相互关联,在该程序和做一个选择语句,让用于自己决定是否返回。

在飞机票订票功能是如何进入候补选择;在退票功能结束如何调用候补名单。由于刚开始编写时在订票失败后直接要求用户返回或者重新选择航班,没有提供候补的选项。同样在退票完成时只是返回主界面。

解决方法:订票失败后,让用户选择是否成为候补,也可以选择放弃返回,否则进行录入候补名单操作;退票成功,先查找是否有在候补该航班的乘客,如果用输出他的信息,没有则返回

3.详细设计

3.1.录入航班

3.2.主界面选择

3.3查询

3.4.订票

3.5.退票

3.6关键代码

1定义乘客类.

class CkNode

{

public:

int Add;

char Name[50];

int Fly;

CkNode(const int Add=0,char N[50]="",const int F=0); };

2,定义航班类

class FlightNode

{

public:

char Over[50];

int Fnum;

int Pnum;

int Day;

int Max;

int Left;

FlightNode(char O[50]="",const int F=0,const int P=0,const int D=0,const int M=0,const int L=0);

};

3,定义候补乘客类

class WaitNode

{

public:

char Name[50];

int Fly;

WaitNode(const int Fly=0,char Name[50]="");

};

4,增加,录入航班函数

void addFlight(FlightNode *F)

{

cout<<"现在开始增加航班\n"<

cout<<"++++++++++++++++++++++++++++++++++++++++++++++"<

int i=0,n=0;

top9: cout<<"请输入航班的信息:\n"<

cout<<"+_+++++++++++++++++++++++++++++++++++++++++++++++"<

top8: do{cout<<"请输入航班的终点站名:";

cin>>F[n].Over;

cout<<"请输入新航班的航班号:";

cin>>F[n].Fnum;

for(int j=0;j

if(F[n].Fnum==F[j].Fnum)

{cout<<"航班号已存在,请重新输入。/n----------------------------------------";

goto top8;}

}

while(i);

cout<<"请输入新航班的飞机号(飞机编码):";

cin>>F[n].Pnum;

cout<<"请输入新航班的飞行日(星期几):";

top15: cin>>F[n].Day;

if(F[n].Day>7)

{

cout<<"该系统只针对一周内航班\n"<

cout<<"请重新输入\n"<

goto top15;

}

top11: cout<<"请输入新航班的成员定额:";

cin>>F[n].Max;

cout<<"请输入如新航班的余票量:";

cin>>F[n].Left;

if(F[n].Max

{

cout<<"输入错误\n"<

cout<<"输入的定额比余票数大,你他妈逗我?\n"<

goto top11;

}

cout<<"录入成功";

n++;

cout<<"是否继续录入(y/n)";

char ch;

top10: cin>>ch;

if(ch=='y')

{

goto top9;

}

else if(ch=='n')

return;

else

{

cout<<"输入错误!请重新选择:";

goto top10;

}

}

5,输出全部乘客函数

void ShowAllCkNode(CkNode *C)

{

cout<<"---------------------------------------------"<

cout<<"姓名"<<"\t"<<"飞机号"<<"\t"<<"座位号"<

int n=50;

for(int i=0;i

{

if(!C[i].Fly)

break;

else

{

cout<

}

}

cout<<"---------------------------------------------"<

cout<<"你可以进行以下操作:1.查看单位乘客;"

<<"2.返回上一级.\n"

<<"请选择:";

int chioce;

top7: cin>>chioce;

if(chioce==1)

{

ShowOneCkNode(C);

}

else if(chioce==3)

{

return;

}

else

{

cout<<"输入错误!请重新选择:";

goto top7;

}

}

6,输出全部航班函数

void ShowAllFlight(FlightNode *F)

{

cout<<"---------------------------------------------"<

cout<<"航班号"<<"\t"<<"终点站"<<"\t"<<"飞行日"<

int n=50;

for(int i=0;i

{

if(!F[i].Fnum)

break;

else{

cout<

}

}

cout<<"---------------------------------------------"<

cout<<"你可以进行以下操作:1.查看单条航线;"

<<"2.录入新的航班信息"<<"3.返回上一级.\n"

<<"请选择:";

int chioce;

top2: cin>>chioce;

if(chioce==1)

{

ShowOneFlight(F);

}

else if(chioce==2)

addFlight(F);

else if(chioce==3)

{

return;

}

else

{

cout<<"输入错误!请重新选择:";

goto top2;

}

}

7,输出单个乘客函数

void ShowOneCkNode(CkNode *C)

{

char Q[20];

int n=50;

int choice;

cout<<"请输入查询乘客名字:\n";

cin>>Q;

CkNode temp[50];

int m=0;

for(int i=0;i<=n;i++)

{

if(strcmp(Q,C[i].Name)==0)

temp[m]=C[i];m++;

}

if(m==0)cout<<"没有您的订票信息"<

else

{ CkNode temp1=temp[0];

cout<<"姓名"<

}

cout<<"请选择所要的操作:1.继续查询2.返回上一级\n";

top12: cin>>choice;

if(choice==1)

{

ShowOneCkNode(C);

}

else if(choice==2)

{

return;

}

else

{

cout<<"输入错误!请重新选择:";

goto top12;

}

}

8,输出单个航班函数

void ShowOneFlight(FlightNode *F)

{

char T[20];

int n=50;

int choice;

cout<<"请输入终点站名称:\n";

cin>>T;

FlightNode temp[50];

int m=0;

for(int i=0;i<=n;i++)

{

if(strcmp(T,F[i].Over)==0)

{temp[m]=F[i];m++;}

}

if(m==0)cout<<"无此终点站"<

else

{

FlightNode temp1=temp[0];

cout<<"航班号:"<

for(int j=1;j

{

if(temp[j].Day!=0)

{

cout<<"航班号:"<

if(temp[j-1].Day>temp[j].Day)temp1=temp[j];

}

}

cout<<"最近一天的航班:\n"

<<"航班号:"<

}

cout<<"请选择所要的操作:1.继续查询2.返回上一级\n";

top3: cin>>choice;

if(choice==1)

{

ShowOneFlight(F);

}

else if(choice==2)

{

return;

}

else

{

cout<<"输入错误!请重新选择:";

goto top3;

}

}

9,订票函数

void BookTicket(FlightNode *F,CkNode *C)

{

char O[20];

char Na[20];

int choice;

int temp;

cout<<"请输入您想到达的目的地:\n";

top6: cin>>O;

for(int i=0;i<=50;i++)

{

if(strcmp(O,F[i].Over)==0)

{

cout<<"最近一周有到达该地的航班\n"<

cout<<"++++++++++++++++++++++++++++++++++++++++++++++++++"<

temp=i;

cout<<"航班号:"<

"<

"<

goto top14;}

if(i>=50)

{

cout<<"对不起,最近一星期没有到该地航班"<

cout<<"+++++++++++++++++++++++++++++++++++++++++++++"<

goto top6;

}

}

top14:cout<<"实名制购票,请输入您的名字,一人限购一张:\n";

cin>>Na;

if(F[temp].Left>=1)

{

char choice1;

cout<<"尚有余票,您现在预订的是"<<"飞行日(星期几):"<

cin>>choice1;

switch(choice1)

{

case 'Y':

case 'y':F[temp].Left=F[temp].Left-1;

for(int i=0;i<=50;i++)

{

if(C[i].Fly==0)

{

C[i].Fly=F[temp].Pnum;

C[i].Add=F[temp].Left;

cout<<"请再次输入你的名字确认"<

cin>>C[i].Name;

cout<<"订票成功!\n";

break;

}

if(i>=50)

{

cout<<"订票人数达到上限,请稍后再试!"<

}

}

cout<<"您预订的"<<"飞机号:"<

break;

default:return ;

}

}

if(F[temp].Left<=1)

{

cout<<"抱歉您想要定的航班已满,对此我们深表歉意,订票失败

"<

}

cout<<"+++++++++++++++++++++++++++++++++++++++++++++++++++++++++\n"<

cout<<"您可以:1.继续订票 3.返回上一级\n"<

top4: cin>>choice;

if(choice==1)

{

BookTicket(F,C);

}

else if(choice==3)

{

return;

}

else

{

cout<<"输入错误!请重新选择:";

goto top4;

}

}

10,退票函数

void ReturnTicket(FlightNode *F,CkNode *C)

{

char Na[20];

int temp;

int choice;

int n=50;

int y;

cout<<"请输入你的名字:";

top13: cin>>Na;

for(int i=0;i

{

if(strcmp(Na,C[i].Name)==0)

{ temp=i;

cout<<"++++++++++++++++++++++++++++++++++++++++++++++++++"<

cout<<"尊敬的"<

break;}

else

{

cout<<"没有查询到您的订票信息,请核对后继续!"<

cout<<"++++++++++++++++++++++++++++++++++++++++++++++"<

goto top13;

}

}

cout<<"尊敬的"<

cout<<"1,确认 2,取消";

cin>>y;

if(y==1)

{

*C[temp].Name=NULL;

C[temp].Add=0;

C[temp].Fly=0;

F[temp].Left=F[temp].Left+1;

cout<<"退票成功"<

}

else

{

cout<<"取消退票"<

goto top13;

}

cout<<"请选择下一步操作:1.继续退票 2.订票 3.返回上级菜单\n"; top5: cin>>choice;

if(choice==1)

{

ReturnTicket(F,C);

}

else if(choice==2)

{

BookTicket(F,C);

}

else if(choice==3)

{

return;

}

else

{

cout<<"输入错误!请重新选择:";

goto top5;

}

}

11,输出所有候补乘客函数

void ShowAllWaitNode(WaitNode *W)

{

cout<<"---------------------------------------------"<

cout<<"姓名"<<"\t"<<"候补飞机号"<<"\t"<

int n=50;

for(int i=0;i

{

if(!W[i].Fly)

break;

else

{

cout<

}

}

cout<<"---------------------------------------------"<

cout<<"你可以进行以下操作:"

<<"1.返回上一级.\n"

<<"请选择:";

int chioce;

top17: cin>>chioce;

if(chioce==1)

{

return;

}

else

{

cout<<"输入错误!请重新选择:";

goto top17;

}

}

12,主函数,调用各种函数

void main()

{

FlightNode F[50];

CkNode C[50];

int n=0;

int choice;

cout<<"欢迎使用订票系统\n"<

cout<<"+++++++++++++++++++++++++++++++++++++++++++++++++++++++++"<

cout<<"请工作人员录入本周航班\n"<

addFlight(F);

while(1)

{

cout<<"++++++++++++++++++++++++++++++++++++++++++++++++++"<

cout<<" *** 欢迎使用航空客运订票系统!!*** "<

cout<<"++++++++++++++++++++++++++++++++++++++++++++++++++"<

cout<<"你可以进行以下的操作:\n"

<<"1==>查询已有航线\n"

<<"2==>录入新的航线信息\n"

<<"3==>查询单条航线\n"

<<"4==>查询乘客信息\n"

<<"5==>查询我的订票信息\n"

<<"6==>订票\n"

<<"7==>退票\n"

<<"8==>退出.\n"

<<"----------------------------------------"<

cout<<"请选择:";

top: cin>>choice;

switch(choice)

{

case 1 : ShowAllFlight(F);break;

case 2 : addFlight(F);break;

case 3 : ShowOneFlight(F);break;

case 4 : ShowAllCkNode(C);break;

case 5: ShowOneCkNode(C);break;

case 6: BookTicket(F,C) ;break;

case 7: ReturnTicket(F,C) ;break;

case 8 : cout<<"退出系统!多谢使用!\n";return;

default : cout<<"输入错误,请重新输入:\n";goto top;

}

}

}

4 测试

首先进入程序界面,由工作人员进行录入航班:可以录入航班情况;

航班录入完毕后进入使用界面,根据界面提示可以有不同的选择,分别为:

1,查询航线:分为全部查询和单此查询,全部查询可以输出所有航班的信息;单个查询由用户输入终点,查询符合情况的航班

2,承办订票业务:根据客户提出的要求查询该航班票额情况,若尚有余票,则为客户办理订票手续;若已满员或者余票数少于订票额,则需重新寻味客户要求,若需要,可登记排队候补;

3,承办退票业务:根据客户提供的情况(日期、航班),为客户办理退票手续,

然后查询该航班是否有人排队等候补,首先询问排在第一的客户,若所有退票额能满足他的要求,则为他办理订票手续否则依次询问其他排队候补的客户。

,4,修改航班信息:当航班信息改变可以修改航班数据文件。

5,输出乘客信息也分为全部乘客信息输出,和单个乘客输出,如果是单个乘客,那需要用户输入名字查询

6,候补乘客查询,输出全部在候补的乘客。

结论

在这次程序编制的过程中出现了很多问题,主要原因是自己以前接触的关于编制程序的知识的缺乏,通过航班订票系统的开发让我知道了自己的不足和缺点。一个好的程序员一定是从程序堆里走出来的,只有通过参与具体程序的开发才知道自己知识的有限,才会学会具体的分析问题,是自己的逻辑性和层次性得到良好的锻炼,经过这次课程设计,我对调试掌握的更加熟练了,改变了过去只调试不知道如何对照程序语言修改程序的坏习惯,意识到了程序语言的规范性以及我们在编程时要有严谨的态度,同时在写程序时如果加一定量的注释,既增加了程序的可读性,也可以使自己在读程序时更容易。

课程设计是一门专业课,给我很多专业知识以及专业技能上了提升,同时又是一门思辨课,让我感触很深,是我对抽象的理论有了具体的认识,在这次课程设计中知道了以前没有接触过的很多函数,在以后的学习中自己要加强程序的锻炼,多参考好的程序和各种各样的函数,建立起自己的函数库,为以后学习打下良好的基础。

致谢

感谢老师在本次实验课中的大力辅导,也感谢陈超同学在编写代码和后续的改写中的帮助,没有你们的帮助我就无法完美的展现此次的实验成果,在此感谢老师同学的大力支持。也感谢学院的老师领导为此次实验做出的安排。

航空客运订票系统

航空客运订票系统 设计报告 姓名: 班级: 学号: 学院: 专业: 指导: 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 其他需求 ①界面简洁,美观 ②程序实用交互性好

机票预订管理系统数据库

华科学院信息管理与信息系统专业《数据库课程设计》报告 (2014/2015学年第一学期) 学生姓名: 学生班级: 学生学号: 指导教师: 2015年1月6日

《机票预订管理系统》的设计

目录 第一章系统概述 (1) 1.1 系统开发背景 (1) 1.2 系统开发意义 (1) 1.3 任务概述 (1) 1.3.1目标 (1) 1.3.2用户的特点 (1) 1.3.3条件与限制 (2) 第二章需求分析 2.1 可行性分析 (3) 2.2 数据流图 (3) 2.3 机票预订系统数据字典 (4) 2.4系统的实体-联系图(ER) (5) 第三章概念结构设计 (6) 3.1 概念数据模型的描述 (6) 3.2 概念数据模型的建立 (6) 第四章逻辑结构设计 4.1 E-R图向关系模型的转换 (7) 4.2 数据的概念结构 (7) 第五章物理结构设计 5.1 物理数据模型的描述 (9) 5.2 物理数据模型的建立 (9) 5.3 物理数据模型导入数据库管理系统 (10) 第六章数据库的实施 6.1 数据库中表内容 (11) 6.2 数据库中SQLServer语句 (12) 结束语 (14) 参考文献 (1)

一章系统概述 1.1 系统开发背景 随着社会发展的不断进步,旅游业的蓬勃发展,机票预订系统对人们的生活影响越来越大,为了实现航空公司以及旅游业的现代化管理,方便旅客,需要开发一个机票预订系统。该系统具有完整的存储,查询,核对,打印机票等功能。 在这个系统中,旅客在旅行社的机票预售代理点,通过输入计算机系统查询,系统为旅客安排航班,印出取票通知和账单,旅客在飞机起飞前凭其二代身份证、取票通知和账单取票,系统校对无误后即打印机票给顾客。 1.2 系统开发意义 航空公司为给旅客乘机提供方便,需要开发一个机票预定系统。各个旅行社把预定机票的旅客信息(姓名、性别、工作单位、身份证号码(护照号码)、旅行时间、旅行始发地和目的地,航班舱位要求等)输入到系统中,系统为旅客安排航班。当旅客交付了预订金或通过网上支付方式付款后,旅客就可以在飞机起飞前凭个人二代身份证在旅行社或机场指定系统上自助打印机票,系统核对无误即打印出机票给旅客。此外航空公司为随时掌握各个航班飞机的乘载情况,需要定期进行查询统计,以便适当调整。 1.3 任务概述 1.3.1目标 在计算机网络,数据库和先进开发平台上,利用现有软件,配置一定硬件,开发一个巨头开放乙烯结构的、易扩充的、一维护的、具有良好人机交互界面的机票预订系统,实现航空公司与旅行社之间的现代化管理链接。实现各个旅行社把预定机票的旅客信息(姓名、性别、工作单位、身份证号码(护照号码)、旅行时间、旅行始发地和目的地,航班舱位要求等)输入到系统中,系统为旅客安排航班的功能。 1.3.2用户的特点 用户为旅游社工作人员,通过登录相应信息而进入机票系统,然后输入旅客基本信息

航空客运订票系统

航空客运订票系统 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. 掌握用例(Use Case)、角色(Actor)、用例图 (Use Case Diagram)的概念。 2.掌握通过用例图和用例描述为系统建立功能模型。 3.掌握通过类图为系统建立对象模型。 二、所用软件 1. Rational Rose 2. Microsoft Word 三、预习内容 1.UML的用例图、类图画法及用例描述的表达方法; 2.系统的分析; 3.Rational Rose的使用方法。 四、实验内容 网上飞机订票系统的业务背景和业务需求如下所述。 1.业务背景: 当今世界,以信息技术为主要标志的科技进步日新月异,高科技成果向现实生产力的转化越来越快。信息技术和信息产业已经成为经济增长的主要推动力之一,信息化水平也已成为现代水平和综合国力的重要标志。 网上飞机订票与传统窗口购票相比,具有航班信息更新快,查找方便,不受时间、空间限制等优点,受到了越来越多乘客的青睐。采用先进技术,为顾乘客提供一个功能完善,操作方便,安全快捷的网上飞机订票系统非常重要。 2.业务需求分析: 本网上飞机订票系统用户分两类,分别是乘客,航空公司。 乘客登录进系统后可以进行查询航班、个人信息管理、购票、退票改签、支付; 航空公司登录进系统后可以进行乘客管理、航班管理、订单管理、系统维护。 收集于网络,如有侵权请联系管理员删除

该系统要求用户界面友好、响应速度快,具有良好的可扩展性。 (一)功能模型 1.画出网上飞机订票系统系统的用例图 图1 网上飞机订票系统总用例图 注:网上飞机订票系统用例清单 收集于网络,如有侵权请联系管理员删除

航空售票管理系统

摘要 伴随着经济的不断发展,必然带动交通业和旅游业务的不断扩大, 特别是航空售票和订票的信息管理日异复杂, 传统的售票方式已经难以满足快节奏, 高效率的现代生活需求,这就要求航空公司要有一套好的售票数据库系统。 一个正常营运的航空公司需要管理所拥有的飞机、航线的设置、客户的信息等,但更重要的还要提供票务管理。面对各种不同种类的信息,需要合理的数据库结构来保存数据信息以及有效的程序结构支持各种数据操作的执行。对数据的添加、修改、删除及查询等方面的操作应简单易行,并且能够具有较好的稳定性。航空售票管理系统主要采用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)

航空客运订票系统

通达学院程序设计报告(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)以及等候替补的客户名单(包括姓名、所需票量);

机票预定管理系统

长沙学院 课程设计说明书 题目机票预定管理系统系(部)计算机科学与技术系专业(班级) 姓名 学号2010021110 指导教师 起止日期2012.06.11-2012.06.22

课程设计任务书 课程名称:数据库系统原理 设计题目:机票预定管理系统 1、某航空公司机票预订管理系统需要如下信息:航班:航班编号、出发地、目的地、出发时间、飞行时间、飞机型号等。飞机:飞机型号、座位数。 机票:航班编号、客户编号、价格、折扣、当前预售状态等。客户:姓名、联系电话、身份证号码等。业务员:姓名、工号。 2、系统功能的基本要求:按照一定条件查询、统计符合条件的航班、机票、客户信息等。例如航班剩余舱位数目、同一航线可选航班信息、客户购买历史等,能够模拟完成机票预订业务。 各阶段具体要求: 1、需求分析阶段 二、定义数据项的含义和取值 三、定义目标系统的数据流 2、概念结构设计阶段画出实体模型E-R 图 3、逻辑结构设计阶段将实体模型转化为关系模型给出每个关系的主关键字和函数依赖集分析你所设计 的关系数据库模式是否属于3NF 4、物理设计阶段确定所有字段的名称、类型、宽度、小数位数及完整性约束确定数据库及表的名称及 其组成确定索引文件和索引关键字 5、数据库安全及维护设计阶段 5.1 设计一个适合的数据库安全策略(用户身份认证、访问权限、视图) 5.2 为了实现复杂的数据完整性约束,设计适当的触发器 5.3 设计一个适合的数据库备份策略 6、实施阶段要求所有操作必须在查询分析器中用SQL 语句或系统存储过程完成。 设计工作量: (1)软件设计:完成问题陈述中所提到的所有需求功能。 (2)论文:要求撰写不少于3000 个文字的文档,详细说明各阶段具体要求。

民航订票管理系统

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

航空客运订票系统

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

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

目录 一.问题描述 (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)

机票预订管理系统

机票预订管理系统

————————————————————————————————作者:————————————————————————————————日期: 2

当人们收集了大量的数据后,应该把它们保存起来做进一步的处理和信息的抽取。当年人们把数据存放在文件柜中,可现在随着社会的发展,数据量急剧增长,现在人们就借助计算机和数据库技术来科学地保存大量的数据,以便能更好的利用这些数据资源。 机票预订系统是为机场工作人员和客户提供的与订票退票有关的管理系统,以实现航空管理的自动化,本课题的目的是为了巩固《数据库原理与应用》课程中所学的知识,体现理论指导实践的原则,为机票预订系统设计后台数据库,通过需求分析,概念设计,逻辑设计,物理设计及数据库的实施和运行等阶段,体现数据库设计的全过程。 关键词:SQL SERVER;数据库设计;机票预定系统

第一章绪论 (1) 1.1课题简介 (1) 1.2设计目的 (1) 1.3设计内容 (1) 第二章需求分析 (2) 2.1 需求分析的任务 (2) 2.2 需求分析的过程 (2) 2.3数据字典与流程图 (2) 第三章概念结构设计 (5) 3.1 概念结构设计的方法与步骤 (5) 3.2 数据抽象与局部视图设计 (5) 3.3视图的集成 (6) 第四章逻辑结构设计 (7) 4.1 E-R图向关系模型的转换 (7) 4.2 数据库关系图 ......................................................... 错误!未定义书签。第五章数据库的实现 (9) 5.1数据库的建立 (9) 5.2 数据库基本结构的建立 (9) 5.3安全性的实现 (9) 5.4完整性的实现 (10) 5.5恢复技术的实现 (10) 第六章运行与结果 (11) 6.1简单查询和连接查询 (11) 6.2嵌套查询 (11) 6.3组合查询和统计查询 (11)

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

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

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

C++课程设计报告飞机订票管理系统

青岛理工大学 C++面向对象课程设计报告 院(系):计算机工程学院 专业:软件工程 学生姓名: 班级软件131班学号: 题目:飞机订票管理系统设计____ 起迄日期:_2015.6.29~2015.7.10 设计地点:计算机学院机房 指导教师:翟正利丁凡 完成日期: 2015 年7月 10 日

C++面向对象课程设计任务书 题目24“飞机订票管理系统设计” 1、问题描述: 航空客运订票的业务包括:查询航班、客票预订和办理退票等。试设计一个航空客运订票系统,已使上述业务可以借助计算机完成。 2.功能要求: (1)每条航线所涉及的信息有:终点站名、航班号、飞机号、星期几飞行飞行周日(星期几)、乘员定额、余票量、已订票的客户名单(包括姓名、订票量、舱位等级)以及等候补替补的客户名单(包括姓名、所需票量); (2)作为示意系统,全部数据可以只放在内存中; (3)系统能实现的操作和功能如下: 录入:可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定); 查询航线:根据旅客提出的终点站名输入下列信息:航班号、飞机号、星期几起飞,最近航班的日期和余票量。 承办订票业务:根据客户提出的要求(航班号、订票数额)查询该航班票额情况,若尚有余票,则为客户办理订票手续,输出座位号;若已满员或者余票数少于订票额,则需重新寻味客户要求,若需要,可登记排队候补; 承办退票业务:根据客户提供的情况(日期、航班),为客户办理退票手续,然后查询该航班是否有人排队等候补,首先询问排在第一的客户,若所有退票额能满足他的要求,则为他办理订票手续否则依次询问其他排队候补的客户。 修改航班信息:当航班信息改变可以修改航班数据文件。 (选作)为客户订票要求不能满足时,系统可向客户提供到达同一目的地的其他航线情况。 3、问题的解决方案: 根据系统功能要求,可以将问题解决分为以下步骤: (1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计; (2)分析系统中的各个实体及它们之间的关系; (3)根据问题描述,设计系统的类层次; (4)完成类层次中各个类的描述; (5)完成类中各个成员函数的定义; (6)完成系统的应用模块; (7)功能调试; (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)

航空客运订票系统

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

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

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

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

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

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

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

uml飞机订票系统建模

面向对象分析与设计实验 机票预订管理系统 学号: 1365400017 姓名:陈志颖 班级:计科141 指导老师:庄育飞 2016年1月2日 目录

1 系统概述 (3) 1.1 背景 (3) 1.2 主要组成及功能 (3) 2. 系统建模 (4) 2.1 创建系统用例模型 (4) 2.1.1参与者分析 (4) 2.1.2用户特点及一般约束 (5) 2.2 系统用例分析 (5) 2.2.1乘客用例图 (6) 2.2.2乘务管理员用例图 (6) 2.2.3系统维护员用例图 (7) 3. 创建系统静态模型 (8) 3.1 类图 (9) 4. 创建系统动态模型 (9) 4.1 时序图 (10) 4.1.1客户预订时序图 (10) 4.1.2乘务管理员航线信息录入时序图 (11) 4.1.3乘客账户管理时序图 (11) 4.2协作图 (12) 4.2.1客户预订协作图 (13) 4.2.2乘客账户管理协作图 (14) 4.2.3乘务管理员航线信息录入协作图 (15) 4.3 状态图 (15) 4.3.1退订状态图 (15) 4.3.2公共信息服务状态图 (16) 5. 创建系统部署模型 (17) 6. 小结 (18) 6.1设计总结 (18) 6.2改善 (18) 6.3小组分工说明: (19)

1 系统概述 1.1 背景 当今世界,以信息技术为主要标志的科技进步日新月异,高科技成果向现实生产力的转化越来越快。纵观全球经济发展,信息技术和信息产业已经成为经济增长的主要推动力之一,正在改变着传统的生产和经营方式以至生活方式,发达国家经过产业结构的升级和经济结构的转型已进入信息经济阶段。信息资源已经成为国民经济和社会发展的战略资源,信息化水平也已成为现代水平和综合国力的重要标志。党和国家已将国民经济和社会信息化放在优先发展位置,体现了先进生产力的客观要求,是一项重要的战略决策。这是民航加快发展的机遇,更是民航信息化的难得机遇。 随着知识经济的到来,人类已经逐步进入信息化社会,信息增长的速度越来越快,人们希望利用先进的管理理论方法手段来得到并处理越来越多的信息,以提高工作效率和管理水平。由于信息资源对人们生活的重要性,不断提高信息的收集,传输,加以利用等活动,日益成为人们社会生活的重要组成部分。网上机票预订管理系统的产生和发展正好满足人们的这种需求。 1.2 主要组成及功能 1、新用户注册,新用户可以注册,注册时输入用户名可以查询用户可不可用,可用就可以 注册,注册时可以判断用户输入的密码和验证密码是否相同,相同才给以注册,如果满意可以点注册,注册成功后用户可以选择不用在回到登陆界面,可以直接陆到用户主界面,以后就可以用这个用户登录了,如果不满意,点取消,所有信息清空,重新输入。 2、验证登陆名密码,正确进入主菜单,根据登录时所选的登录方式(客户、管理员)的不 同分别对用户设定不同的访问权限(如果是输入的客户用户名和密码正确,选择以客户方式登陆则主界面里面的管理员界面不能用,如果输入的是管理员的相应用户密码正确,以管理员的方式登陆则管理员界面可用)不正确则清空登录框,最多可以输入三次,三次不正确系统会自动关闭。 3、主窗体的用户信息界面,用户点击个人查询按钮,可以把自己的个人信息显示到界面上, 还可以对自己的信息进行相应的修改(用户编号和用户名不能修改),还可以点击我的机票查询,查询该用户的订票记录。基本信息查询及设置。显示当前登录用户的个人基本信息,姓名,住址,邮箱等信息。除此之外,可以更改设置自己的密码。 4、我的航班界面。你可以点击你想查询的有关机票的信息的按钮(舱位信息查询,客机信 息查询,航线查询,客户类型信息查询)获得相关信息的表,根据表的内容,你可以在下面的下拉框中选择你要定的票信息,点确定后在下面会显示你的机票的相关内容,如果满意可以点击订票,把相关信息添加到机票数据库表中,如果不满意,可以点重置,所有信息清空,再重新选择。 5、可以选定已定航班的订票信息进行转让信息发布。相关的转让二手票的业务信息发布到 系统的公共信息服务页面上。查询公共信息服务。打开相应的页面,查询感兴趣的信息。 包括系统发布的机票打折信息,以及二手票信息。 6、退票功能。用户可以根据用户信息表中的我的机票信息查询,找出机票号,在输入到机 票号查询里,点击查询获得你的机票信息以及价格显示,点击退票则在数据库机票信息表中删除本条信息。

相关文档
最新文档