航空客运订票系统
C++数据结构课程设计订票系统
XXXXXXXXXX项目名称:航空信息管理系统学生姓名:XXXXXX 学号:XXXXXXXXX 班级:XXXXXX 指导教师:XXX目录1.系统需求分析 (1)2.数据结构设计及用法说明 (2)3.详细设计和编码 (3)3.1订票模块 (3)3.2退票模块 (6)3.3录入模块 (7)3.4查询模块 (8)4.实验结果 (9)4.1主菜单界面 (9)4.2查询功能模块 (9)4.3订票功能模块 (10)4.4退票功能模块 (10)4.5录入航班信息模块 (10)5.体会 (11)参考文献 (12)附录:源程序清单 (13)1.系统需求分析本次课程设计要求使用C语言编写一个航空客运订票系统程序,根据所有内容都可以只在内存中运行可得知该模拟的航空客运订票系统不需要用文件保存相关输入,运行过程中的数据。
同时该航空客运订票系统要求模拟实际航空订票系统,具有查询航线,客票预订,办理退票,录入航班信息等基本功能。
查询航线功能根据实际分析应该具有通过用户输入的要查询终点站名输出该终点站的终点站,航班号,飞机号,飞行日期,剩余票量的功能。
订票功能应当设计能够根据用户输入的姓名和终点站,查询该终点站的余票并提示剩余票数,之后让用户输入需要订购的票数并执行相关操作。
退票功能可设计成要求用户输入姓名和航班号来查找该用户的的订票信息并打印,再询问是否退票。
录入功能是必要的,用来录入航班节点信息。
2.数据结构设计及用法说明根据该航空信息管理系统的功能要求,应当设计菜单模块,查询模块,订票模块,退票模块,录入信息模块等几个基本模块,main函数里调用菜单模块打印选项菜单,然后用switch case 接收用户选择,并依此跳转到相应模块执行。
同时,为达到能够执行一个模块后继续返回主菜单执行而不是直接退出的目的设计将菜单模块及相应子功能模块放入for死循环里,当输入5则直接退出程序。
按该系统的功能分析得出存放在系统中各项数据不需要使用排序功能,因而使用链表保存数据比用顺序表和数组要便捷并且占用内存少,所以定义linklist类型,内部有data,next 指针2个数据。
软件工程实验报告实验二
软件工程实验报告实验二实实验报告课程名称软件工程实验项目实验二面向对象分析及面向对象设计实验仪器个人电脑系别___计算机科学与技术系____专业_____计算机科学与技术___组长姓名王海阔2010011187小组成员刘大伟_2010011195郑晓驰2010011192实验日期________2013-5-15_______成绩_______________________指导教师_田英爱1实验内容对航空客运订票系统,利用面向对象的软件工程思想和技术,对该系统进行分析。
2实验要求需要利用UML语言描述分析结果,完成系统的需求分析,并书写实验报告。
3实验工具与方法Micriosoftofficevisio2010画图工具Rationalroseenterpriseedition4实验结果系统名称:航空售票系统4.1根据选定系统,做出问题陈述,给出系统的用例图。
问题陈述:该航空客运售票系统能够实现旅客的订票、退票、查询余票、查询已经订票的旅客的信息、查询航班信息,旅客订票时提供的信息包括旅客姓名、身份证号、座位号、电话、航班号、起飞时间等,退票时提供的信息包括旅客姓名、身份证号、航班号、座位号、起飞时间等,查询余票时需要提供航班号以及飞机起飞时间,查询客户的信息需要提供旅客的姓名以及身份证号,查询航班信息需要提供航班号,下面是该系统的用例图注册收费系统收费退票旅客用户信息用户登录查询机票查询航班查询旅客信息查询现金支付POS机POS机支付自动售票机售票员订票注册成功4.2根据系统用例图,分别给出场景描述说明。
旅客买票前先注册,即在航空售票系统中录入自己的信息,注册成功之后,便可订票。
订票可以在柜台通过售票员直接订票,也可以在自动售票机上自己订票,当然都得先注册。
不管通过哪种方式订票都要缴费,收费系统会将旅客的现金或是通过POS机交的费用录入系统。
旅客退票时要先登录,在柜台或是在自动售票机输入自己的姓名等信息,然后系统会在旅客确认之后删除旅客的信息。
航空购票系统实训报告
一、实训背景随着我国航空事业的快速发展,航空客运订票系统在航空公司的运营中发挥着越来越重要的作用。
为了更好地了解和掌握航空购票系统的设计、开发和运行,我们小组进行了为期一个月的航空购票系统实训。
二、实训目的1. 熟悉航空购票系统的基本原理和功能;2. 掌握航空购票系统的设计和开发方法;3. 提高团队合作能力和实践能力;4. 为今后的工作积累经验。
三、实训内容1. 系统需求分析在实训过程中,我们首先对航空购票系统进行了需求分析。
通过查阅相关资料和与航空公司的技术人员沟通,我们了解到航空购票系统主要包括以下功能:(1)航班信息查询:用户可以查询到航班号、起飞时间、到达时间、机型、票价等信息;(2)机票预订:用户可以选择航班、座位、票价等,进行机票预订;(3)订单管理:用户可以查看、修改、取消订单;(4)支付管理:用户可以选择在线支付或线下支付;(5)个人信息管理:用户可以查看、修改个人信息;(6)客服中心:用户可以咨询航班、订票等问题。
2. 系统设计根据需求分析,我们制定了以下系统设计:(1)系统架构:采用B/S架构,前端使用HTML、CSS、JavaScript等技术,后端使用Java语言和SSM框架(Spring、SpringMVC、MyBatis)进行开发;(2)数据库设计:使用MySQL数据库,存储航班信息、用户信息、订单信息等;(3)功能模块设计:将系统分为航班信息模块、机票预订模块、订单管理模块、支付管理模块、个人信息管理模块和客服中心模块。
3. 系统实现在系统实现过程中,我们遵循以下步骤:(1)前端开发:使用HTML、CSS、JavaScript等技术,完成航班信息查询、机票预订、订单管理、个人信息管理等功能模块的前端页面设计;(2)后端开发:使用Java语言和SSM框架,完成航班信息查询、机票预订、订单管理、支付管理、个人信息管理等功能模块的后端逻辑实现;(3)数据库设计:使用MySQL数据库,创建数据表,存储航班信息、用户信息、订单信息等;(4)系统集成:将前端页面和后端逻辑进行集成,实现整个系统的功能。
中国民航订座系统操作手册
中国民航订座系统操作手册一、引言中国民航发展迅速,为了提升服务效率和乘客体验,订座系统成为了必备工具。
本操作手册旨在指导用户熟悉和操作中国民航订座系统,确保订座流程顺畅、准确。
二、系统登录1. 使用合法的用户名和密码登录订座系统。
2. 在登录界面输入准确的用户名和密码,点击“登录”按钮进入系统。
三、基本功能1. 查询航班信息a. 选择日期和出发地、目的地,点击“查询”按钮。
b. 系统将显示符合条件的航班列表,包括航班号、起降时间、剩余座位数等信息。
c. 用户可以根据需要选择合适的航班进行订座。
2. 订座a. 在航班列表中选择目标航班,点击“订座”按钮。
b. 输入旅客姓名和联系方式等必要信息。
c. 确认无误后,点击“确认订座”按钮提交订座申请。
3. 修改、取消订座a. 进入订座管理界面,在“我的订座”中找到对应的订座信息。
b. 若需修改订座信息,点击“修改”按钮进行修改。
c. 若需取消订座,点击“取消”按钮完成取消操作。
4. 余票查询a. 进入余票查询页面,选择日期和出发地、目的地。
b. 系统将显示符合条件的航班列表以及剩余座位数。
5. 退票、改签a. 进入退票、改签管理界面,选择相应的订座信息。
b. 若需退票,点击“退票”并按照退票规定办理退票手续。
c. 若需改签,点击“改签”并按照改签规定进行改签操作。
四、常用技巧以下是一些常用的技巧,可提高订座效率和准确性:1. 根据航班号直接查询航班信息,快速订座。
2. 选择多个航班进行对比,以获得最适合的航班方案。
3. 提前查询余票情况,避开座位紧张的时间段。
4. 注意航班的起降时间,在订座时合理安排行程。
五、注意事项1. 用户在操作订座系统时,应提供真实、准确的信息,确保订座的有效性。
2. 根据不同航空公司的规定,订座可能需要提供附加信息或补充材料。
3. 遵守航空公司的规定和要求,以确保顺利出行。
六、结语通过本操作手册的指导,用户可以轻松使用中国民航订座系统,实现高效、便捷的订座服务。
C语言航空订票系统
航空客运订票系统姓名:xxx 班级:xxxx 学号:xxxxxxxxx目录一、问题描述 (1)二、设计要求 (1)三、数据结构设计 (2)四、详细设计程序 (3)五、运行与测试 (9)六、收获及体会 (13)一、问题描述设计一个航空客运订票系统,为乘客提供各种航空客运信息服务。
二、设计要求1.每条航线所涉及的信息有:终点站名、航班号、飞机号、飞行日(星期几)、乘员定额、余票量、已订票的客户名单(包括姓名、订票量、舱位等级1,2或3)以及等候替补的客户名单(包括姓名、所需票量);2.系统能实现的操作和功能如下:a) 查询航线:根据旅客提出的终点站名输出下列信息:航班号、飞机号、星期几飞行,最近一天航班的日期和余票额;b) 承办订票业务:根据客户提出的要求(航班号、订票数额)查询该航班票额情况,若尚有余票,则为客户办理订票手续,输出座位号;若已满员或余票额少于定票额,则需重新询问客户要求。
若需要,可登记排队候补;c) 承办退票业务:根据客户提供的情况(日期、航班),为客户办理退票手续,然后查询该航班是否有人排队候补,首先询问排在第一的客户,若所退票额能满足他的要求,则为他办理订票手续,否则依次询问其他排队候补的客户。
a)等候替补的客户名单(包括姓名、所需票量)typedef struct wat_ros{ char name[10];/*姓名*/int req_amt;/*订票量*/struct wat_ros *next;}qnode,*qptr;typedef struct pqueu{ qptr front;/*等候替补客户名单域的头指针*/qptr rear;/*等候替补客户名单域的属指针*/}linkqueue;b)订票的客户名单(包括姓名、订票量、舱位等级1,2或3)typedef struct ord_ros{ char name[10];/*客户姓名*/int ord_amt;/*订票量*/int grade;/*舱位等级*/struct ord_ros *next;}linklist;c)每条航线所涉及的信息:终点站名、航班号、飞机号、飞行日(星期几)、乘员定额、余票量、已订票的客户名单、以及等候替补的客户名单struct airline{ char zong_name[10];/*终点站名*/char air_num[10];/*航班号*/char plane_num[10];/*飞机号*/char date[7];/*飞行日期(星期几)*/int tkt_amt;/*乘员定额*/int tkt_sur;/*余票量*/linklist *order;/*乘员名单域,指向乘员名单链表的头指针*/linkqueue wait;/*等候替补的客户名单域,分别指向排队等候名单队头队尾的指针*/}lineinfo;四、详细设计程序int menu_select()/*菜单界面*/{ int c;char s[20];printf("\n\t\t航空客运订票系统\n");printf("******************************************\n");printf(" 1.浏览航线信息\n");printf(" 2.浏览已订票客户信息\n");printf(" 3.查询航线\n");printf(" 4.办理订票业务\n");printf(" 5.办理退票业务\n");printf(" 6.查看剩余票数并排序\n");printf(" 0.退出系统\n");printf("*******************************************\n");do{printf("请选择:");scanf("%s",s);c=atoi(s);}while(c<0||c>7);return c;}void main(){start=air;for(;;){switch(menu_select()){case 1:list();break;case 2:prtlink();break;case 3:search();break;case 4:order();break;case 5:return_tkt();break;case 6:sort_tkt();break;case 0:printf("\n欢迎使用本系统,再见!\n");exit(0);}printf("\nPress any key to continue!\n");getch();}}航线信息:struct airline{ char zong_name[10];/*终点站名*/char air_num[10];/*航班号*/char plane_num[10];/*飞机号*/char date[7];/*飞行日期(星期几)*/linklist *order;/*乘员名单域,指向乘员名单链表的头指针*/linkqueue wait;/*等候替补的客户名单域,分别指向排队等候名单队头队尾的指针*/}lineinfo;struct airline *start;struct airline air[MAXSIZE]={{"aaa","1","001","SUN",30,15},{"bbb","2","002","MON",40,10},{"ccc","3","003","FRI",50,14},{"ddd","4","004","TUE",60,20}};void display(struct airline *info)/*打印每条航线的基本信息*/{printf("%8s\t%3s\t%s\t%4s\t\t%3d\t%10d\n",info->ter_name,info->air_num,info->plane_num,info->dat e,info->tkt_amt,info->tkt_sur);}void list()/*打印全部航线信息*/{ struct airline *info;int i=0;info=start;printf("终点站名\t航班号\t飞机号\t飞行日期\t乘员定额\t余票量\n");while(i<MAXSIZE){display(info);info++;i++;}printf("\n\n");}查询航线:void search()/*根据客户提出的终点站名输出航线信息*/{ struct airline *info,*find();char name[10];int i=0;info=start;printf("请输入终点站名:");scanf("%s",name);while(i<MAXSIZE){if(!strcmp(name,info->zong_name)) break;info++;i++;}if(i>=MAXSIZE)printf("对不起,该航线未找到!\n");else{printf("终点站名\t航班号\t飞机号\t飞行日期\t乘员定额\t余票量\n");}struct airline *find()/*根据系统提出的航班号查询并以指针形式返回*/{ struct airline *info;char number[10];int i=0;info=start;printf("请输入航班号:");scanf("%s",number);while(i<MAXSIZE){if(!strcmp(number,info->air_num)) return info;info++;i++;}printf("对不起,该航线末找到!\n");return NULL;}客户信息:void prtlink()/*打印订票乘员名单域的客户名单信息*/{ linklist *p;struct airline *info;info=find();p=info->order;if(p!=NULL){printf("客户姓名订票数额舱位等级\n");while(p){printf("%s\t\t%d\t%d\n",p->name,p->ord_amt,p->grade);p=p->next;}}elseprintf("该航线没有客户信息!!\n");}linklist *insertlink(linklist *head,int amount,char name[],int grade) /*增加订票乘员名单域的客户信息*/{ linklist *p1,*new1;p1=head;new1=(linklist *)malloc(sizeof(linklist));if(!new1) {printf("\nOut of memory!!\n");return NULL;}strcpy(new1->name,name);new1->ord_amt=amount;new1->grade=grade;new1->next=NULL;if(head==NULL)/*若原无订票客户信息*/head=new1;new1->next=p1;return head;}linkqueue appendqueue(linkqueue q,char name[],int amount)/*增加排队等候的客户名单域*/{ qptr new1;new1=(qptr)malloc(sizeof(qnode));strcpy(new1->name,name);new1->req_amt=amount;new1->next=NULL;if(q.front==NULL)/*若原排队等候客户名单域为空*/q.front=new1;elseq.rear->next=new1;q.rear=new1;return q;}订票业务:void order()/*办理订票业务*/{ struct airline *info;int amount,grade;char name[10];info=start;if(!(info=find())) return;/*根据客户提供的航班号进行查询,如为空,退出该模块*/printf("请输入你订票所需要的数量:");scanf("%d",&amount);if(amount>info->tkt_amt)/*若客户订票额超过乘员定票总额,退出*/{ printf("\n对不起,您输入的票的数量已经超过乘员定额!");return;}if(amount<=info->tkt_sur)/*若客户订票额末超过余票量,订票成功并等记信息*/{int i;printf("请输入您的姓名(订票客户):");scanf("%s",name);printf("请输入%s票的舱位等级:",name);scanf("%d",&grade);info->order=insertlink(info->order,amount,name,grade);/*在订票乘员名单域中添加客户信息*/ for(i=0;i<amount;i++)/*依次输出该订票客户的座位号*/printf("%s的座位号是:%d\n",name,info->tkt_amt-info->tkt_sur+i+1);info->tkt_sur-=amount;/*该航线的余票量应减掉该客户的订票量*/printf("\n祝您乘坐愉快!\n");}else /*若满员或余票额少于订票额,询问客户是否需要进行排队等候*/r=getch();printf("%c",r);if(r=='Y'||r=='y'){ printf("\n请输入您的姓名(排队订票客户):");scanf("%s",name);info->wait=appendqueue(info->wait,name,amount);/*在排队等候乘员名单域中添加客户信息*/ printf("\n注册成功!\n");}else printf("\n欢迎您下次再次订购!\n");}}退票业务:void return_tkt()/*退票模块*/{ struct airline *info;qnode *t,*back,*f,*r;int grade;linklist *p1,*p2,*head;char cusname[10];if(!(info=find())) return;/*调用查询函数,根据客户提供的航线进行搜索*/head=info->order;p1=head;printf("请输入你的姓名(退票客户):");scanf("%s",cusname);while(p1!=NULL) {/*根据客户提供的姓名到订票客户名单域进行查询*/if(!strcmp(cusname,p1->name)) break;p2=p1;p1=p1->next;}if(p1==NULL){ printf("对不起,你没有订过票!\n");return;}/*若未找到,退出本模块*/else{/*若信息查询成功,删除订票客户名单域中的信息*/if(p1==head) head=p1->next;else p2->next=p1->next;info->tkt_sur+=p1->ord_amt;grade=p1->grade;printf("%s成功退票!\n",p1->name);free(p1);}info->order=head;/*重新将航线名单域指向订票单链表的头指针*/f=(info->wait).front;/*f指向排队等候名单队列的头结点*/r=(info->wait).rear;/*r指向排队等候名单队列的尾结点*/t=f;/*t为当前满点条件的排队候补名单域*/while(t){if(info->tkt_sur=info->wait.front->req_amt){/*若满足条件者为头结点*/printf("%s订票成功!\n",t->name);for(i=0;i<t->req_amt;i++)/*输出座位号*/printf("%s的座位号是:%d\n",t->name,(info->tkt_sur)-i);info->tkt_sur-=t->req_amt;info->order=insertlink(info->order,t->req_amt,t->name,grade);/*插入到订票客户名单链表中*/free(t);break;}back=t;t=t->next;if((info->tkt_sur)>=(t->req_amt)&&t!=NULL)/*若满足条件者不为头结点*/{ int i;back->next=t->next;printf("%s订票成功!\n",t->name);for(i=0;i<t->req_amt;i++)/*输出座位号*/printf("<%s>'s seat number is:%d\n",t->name,(info->tkt_sur)-i);info->tkt_sur-=t->req_amt;info->order=insertlink(info->order,t->req_amt,t->name,grade);/*插入到订票客户名单链表中*/ free(t);break;}if(f==r) break;}}剩票排序:void sort_tkt(){/*按剩余票数排序*/int j;struct airline t,*info,*p,*q;p=info=air;for(p=info;(p+1)->tkt_sur;p++)for(q=p+1;q->tkt_sur;q++){if(p->tkt_sur<q->tkt_sur){t=*p;*p=*q;*q=t;}}printf("终点站名\t航班号\t飞机号\t飞行日期\t乘员定额\t余票量\n");for(j=0;j<MAXSIZE;j++){display(info);info++;}}六:收获及体会:,哪些知识点运用的还不够熟练。
航空订票系统代码
Airline.h#pragma once#include<string>using std::string;#include<iostream>using std::istream;using std::ostream;#include<string>using std::endl;using std::cout;using std::cin;#include"DataStructure.h"#include"Passenger.h"class AirLine;ostream &operator<<(ostream &output ,const AirLine& line);class AirLine{friend void InitAirLine(AirLine *line);friend ostream &operator<<(ostream &output,const AirLine& line); public:AirLine(void);~AirLine(void);string GetEndPoint();int GetSeatNum(int);int GetSeatRemain(int);void SetSeatRemain(int num,int whickWeek);string GetFlightNum(void);void InsertPassenger(Passenger& temp);bool IsFly(int whichWeek) const;void InsertAwait(Passenger& temp);bool DeletePassenger(Passenger&);int IfAwaitBook(int tiNum, int whichWeek);private:string endPoint;string flightNum;string airNum;bool week[8];int seatNum[8];int seatRemain[8];MyList<Passenger> pList;MyQueue<Passenger> pQueue;};Airline.cpp#include"AirLine.h"AirLine::AirLine(void){for(int i=0;i<8;i++)week[i]=false;}AirLine::~AirLine(void){}string AirLine::GetEndPoint(){return endPoint;}ostream &operator<<(ostream &output,const AirLine &line){output<<"终点站: "<<line.endPoint<<"\n\n"<<"航班号: "<<line.flightNum<<"\n\n"<<"飞机号: "<<line.airNum<<"\n\n"<<"剩余票数:\n";for(int i=1;i<8;i++)if(line.IsFly(i))output<<"周"<<i<<" "<<line.seatRemain[i]<<endl;string weekName[8]={" ","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday","Sund ay"};output<<"飞行日:";for(int i=1;i<8;i++)if(line.week[i])output<<weekName[i]<<"\t";cout<<endl;return output;}int AirLine::GetSeatNum(int whichWeek){return seatNum[whichWeek];}int AirLine::GetSeatRemain(int whichWeek){return seatRemain[whichWeek];}void AirLine::SetSeatRemain(int num,int whichWeek) {seatRemain[whichWeek]-=num;}string AirLine::GetFlightNum(void){return flightNum;}void AirLine::InsertPassenger(Passenger& temp) {pList.InsertNode(temp);}bool AirLine::IsFly(int whichWeek) const{return week[whichWeek];}void AirLine::InsertAwait(Passenger& temp){pQueue.EnQueue(temp);}bool AirLine::DeletePassenger(Passenger& temp) {seatRemain[temp.GetWeek()]+=temp.GetTickets();return pList.DeleteNode(temp);}int AirLine::IfAwaitBook(int tiNum, int whichWeek) {if(pQueue.Empty())return 0;Passenger node,tnode;MyQueue<Passenger> tempQueue;while(!pQueue.Empty()){pQueue.DnQueue(node);if(node.GetTickets()<tiNum&&node.GetWeek()==whichWeek) break;tempQueue.EnQueue(node);}while(!tempQueue.Empty()){tempQueue.DnQueue(tnode);pQueue.EnQueue(tnode);}if(node.GetTickets()<tiNum&&node.GetWeek()==whichWeek) return node.GetTickets();elsereturn 0;}Passenger.h#pragma once#include<string>using std::string;enum TicketGrade{AA,BB,CC};class Passenger{public:~Passenger(void);Passenger(const string &passengerName=" ",int tick=0,int g=1,int w=1);bool operator==(Passenger & d);int GetTickets();int GetWeek();private:string name;int tickets;TicketGrade grade;int flightWeek;};Passenger.cpp#include"Passenger.h"Passenger::~Passenger(void){}Passenger::Passenger(const string &passengerName,int tick,int g,int w) {name=passengerName;tickets=tick;switch(g){case 1:grade=AA;break;case 2:grade=BB;break;case 3:grade=CC;break;default:break;}flightWeek=w;}bool Passenger::operator==(Passenger & d){if(d.tickets!=tickets)return false;if(!=name)return false;if(d.flightWeek!=flightWeek)return false;if(d.grade!=grade)return false;return true;//TODO: insert return statement here }int Passenger::GetTickets(){return tickets;}int Passenger::GetWeek(){return flightWeek;}DataStructure.h#include<cstdlib>//LQNode classtemplate<typename T>class MyList;template<typename T>class MyQueue;template<typename T>class LQNode{friend class MyList<T>;friend class MyQueue<T>;public:LQNode();LQNode(T);~LQNode();private:T data;LQNode<T> *next;};template<typename T> LQNode<T>::LQNode(){//data=T(0);next=NULL;}template<typename T> LQNode<T>::LQNode(T node) {data=node;next=NULL;}template<typename T> LQNode<T>::~LQNode(){}//MyList classtemplate<typename LT> class MyList{public:MyList();~MyList();void InsertNode(LT &);bool DeleteNode(LT &);private:LQNode<LT> *head;};template<typename LT> MyList<LT>::MyList(){head=new LQNode<LT>;head->next=NULL;}template<typename LT>MyList<LT>::~MyList(){}template<typename LT>void MyList<LT>::InsertNode(LT &temp){LQNode<LT> *node=new LQNode<LT>(temp);node->next=head->next;head->next=node;}template<typename LT>bool MyList<LT>::DeleteNode(LT &temp){LQNode<LT> *p,*q;p=head->next;q=head;while(p!=NULL){if(p->data==temp){q->next=p->next;free(p);return true;}q=p;p=p->next;}return false;}//MyQueue classtemplate<typename QT>class MyQueuepublic:MyQueue();~MyQueue();void EnQueue(QT &);void DnQueue(QT &);bool Empty();private:LQNode<QT> *front;LQNode<QT> *rear;};template<typename QT>MyQueue<QT>::MyQueue(){front=rear=new LQNode<QT>;}template<typename QT>MyQueue<QT>::~MyQueue(){}template<typename QT>void MyQueue<QT>::EnQueue(QT &temp){LQNode<QT> *node=new LQNode<QT>(temp);rear->next=node;node->next=NULL;rear=rear->next;}template<typename QT>void MyQueue<QT>::DnQueue(QT &temp){if(Empty())cout<<"对空"<<endl;elsetemp=front->next->data;return;}template<typename QT>bool MyQueue<QT>::Empty()return front->next==NULL;}Main.cpp#include"AirLine.h"#include<iostream>using std::cout;using std::cin;using std::endl;#include<iomanip>using std::setw;using std::setfill;void InitAirLine(AirLine *line);void InquireAirLine(AirLine* line);void BookTicket(AirLine *line);void ReturnTicket(AirLine *line);void IfAwait(AirLine &line,int tiNum,int whichWeek);void TransactBookTicket(AirLine &line,int tiNum,int whichWeek);void IfBookTicket(AirLine *line,string fiNum,int tiNum,int whichWeek); bool IsQuit();const int size=7;const int maxSeatNum=120;int main(){AirLine line[size];int select;InitAirLine(line);bool flag=false;while(!flag){cout<<"-------------------------------------------------------------------"<<endl;cout<<" 航空客运订票系统"<<endl;cout<<" 1 查询航线"<<endl<<" 2 订票业务"<<endl<<" 3 退票业务"<<endl;cout<<"-------------------------------------------------------------------"<<endl;cin>>select;while(cin.fail()||select<1||select>3){cout<<"输入错误,重新输入"<<endl;cin.clear();cin.ignore();cin>>select;}switch(select){case 1:InquireAirLine(line);break;case 2:BookTicket(line);break;case 3:ReturnTicket(line);break;default:cout<<"error";break;}system("pause");flag=IsQuit();system("cls");}return 0;}bool IsQuit(){char change;cout<<"是否退出该系统Y/y是N/n否"<<endl;while(true){cin>>change;switch(change){case'Y':case'y':return true;break;case'n':case'N':return false;break;default:cout<<"输入错误,重新输入"<<endl;break;}}return true;}void InquireAirLine(AirLine *line){string inquirePoint;cout<<"输入终点名:"<<endl;cin>>inquirePoint;for(int i=0;i<size;i++)if(line[i].GetEndPoint()==inquirePoint){cout<<line[i];return;}cout<<"对不起,没有到达该地的航班"<<endl; }void BookTicket(AirLine *line){int tiNum;int whichWeek;string fiNum;cout<<"输入航班号:"<<endl;cin>>fiNum;for(int i=0;i<size;i++)if(line[i].GetFlightNum()==fiNum){cout<<line[i];cout<<"输入订票额:"<<endl;cin>>tiNum;while(cin.fail()){cout<<"输入错误,重新输入"<<endl;cin.clear();cin.ignore();cin>>tiNum;}if(tiNum>maxSeatNum){cout<<"对不起,本公司暂时没有这么大的客机,请分开订票"<<endl;return;}cout<<"输入订票时间:"<<endl;cout<<"1星期一、星期二..."<<endl;cin>>whichWeek;while(cin.fail()||whichWeek>8||whichWeek<1||!line[i].IsFly(whichW eek)){cout<<"输入错误,重新输入"<<endl;cin.clear();cin.ignore();cin>>whichWeek;}if(tiNum>line[i].GetSeatRemain(whichWeek))IfAwait(line[i],tiNum,whichWeek);elseTransactBookTicket(line[i],tiNum,whichWeek);return;}cout<<"对不起,没有到达该地的航班"<<endl;}void ReturnTicket(AirLine *line){cout<<"为您办理退票业务:"<<endl;string fiNum;int whichWeek;int tiNum;int i;string name;cout<<"输入名字"<<endl;cin>>name;cout<<"输入航班号:"<<endl;cin>>fiNum;for(i=0;i<size;i++)if(line[i].GetFlightNum()==fiNum)break;if(i==size){cout<<"无此航班,请核对后输入"<<endl;return;}cout<<"输入订票时间:"<<endl;cout<<"1星期一、星期二..."<<endl;cin>>whichWeek;while(cin.fail()||whichWeek>8||whichWeek<1||!line[i].IsFly(whichW eek)){cout<<"输入错误,重新输入"<<endl;cin.clear();cin.ignore();cin>>whichWeek;}cout<<"输入订票额:"<<endl;cin>>tiNum;while(cin.fail()){cout<<"输入错误,重新输入"<<endl;cin.clear();cin.ignore();cin>>tiNum;}Passenger temp(name,tiNum,1,whichWeek);if(line[i].DeletePassenger(temp)==true){cout<<"办理退票完毕,谢谢合作"<<endl;IfBookTicket(line,fiNum,tiNum,whichWeek);}elsecout<<"您没有订票或输入信息错误,请核实后办理"<<endl; }void IfAwait(AirLine &line,int tiNum,int whichWeek){cout<<"空座不够,是否排队候补?Y/y是N/n否"<<endl;char change;bool flags=true;while(flags){cin>>change;switch(change){case'Y':case'y':{flags=false;Passenger temp(" ",tiNum,1,whichWeek);line.InsertAwait(temp);cout<<"已为您登记排队候补,请耐心等候"<<endl;}break;case'n':case'N':flags=false;cout<<"谢谢合作,再见。
民航售票系统总结与归纳
民航售票系统总结与归纳随着社会的发展和科技的进步,民航售票系统的应用已经成为现代航空业务运作的重要组成部分。
通过对民航售票系统的总结与归纳,可以更好地了解其功能和作用,为航空公司和旅客提供高效、便捷的服务。
本文将对民航售票系统进行综述,包括其定义、特点、优势以及未来的发展方向。
一、民航售票系统的定义与特点民航售票系统,简称为ATRS(Airline Ticket Reservation System),是指航空公司为旅客提供机票预订、购票、退票等服务的一种电子化系统。
它通过计算机网络和数据库技术,实现了航班信息、客票信息和支付信息的集中管理和实时更新,为旅客提供了更加便捷的购票方式。
民航售票系统具有以下特点:1. 实时性:民航售票系统可以及时更新航班信息和座位预订情况,旅客可以随时查询到最新的航班信息和机票余量。
2. 自动化:通过民航售票系统,旅客可以自主选择航班、座位、乘客信息等,实现自动化的预订和购票流程,节省人力成本。
3. 一体化:民航售票系统通常与其他航空管理系统(如运输管理系统、机场管理系统)相互关联,形成一体化的航空业务运作体系。
4. 多渠道销售:除了传统的实体售票点,民航售票系统还支持在线售票、手机客户端购票等多种渠道,方便旅客随时随地购票。
5. 安全性:民航售票系统采用了严格的数据加密和身份验证措施,确保旅客个人信息和支付信息的安全。
二、民航售票系统的优势民航售票系统的应用给航空公司和旅客带来了许多优势。
1. 提高效率:传统的售票方式需要人工操作,效率低下。
而民航售票系统实现了自助购票和在线支付,大大提高了航空公司的工作效率。
2. 降低成本:民航售票系统的自动化特点减少了航空公司的人力成本,同时也减少了纸质票据和行程单的使用成本。
3. 增强服务体验:旅客可以通过民航售票系统自主选择航班、座位,并在线支付,提升了购票的便利性和体验感。
4. 实时更新:民航售票系统与航空公司的航班管理系统相互关联,在航班变动时可以及时更新,减少因航班取消或延误而给旅客带来的困扰。
中国民航订座系统操作手册
中国民航订座系统操作手册中国民航的发展在近年来取得了长足的进步,航空业也逐渐成为人们出行的重要选择。
作为航空公司的重要一环,民航订座系统的操作十分关键。
在这里,我将为大家介绍一份中国民航订座系统的操作手册,希望能够帮助大家更好地了解和使用这一系统。
首先,在使用民航订座系统之前,我们需要了解一些基本的操作步骤。
首先,打开民航官方网站或者相关应用程序,找到订座系统入口。
其次,选择出发地和目的地城市,输入出行日期和航班时间。
接着,系统将显示符合条件的航班列表,根据自己的需求选择合适的航班。
最后,填写乘客信息并支付机票费用,完成预订。
在选择航班时,我们需要注意一些细节。
首先,要根据个人出行需求选择合适的舱位类型,如经济舱、商务舱或头等舱。
其次,要注意航班的起降时间和中转时间,确保在出行计划中留有充足的时间。
此外,还需要关注航班的准点率和航空公司的服务质量,选择信誉良好的航空公司。
在填写乘客信息时,我们需要确保信息的准确性和完整性。
首先,要填写与乘机人身份证件一致的姓名和证件号码,以确保乘机顺利。
其次,要填写联系人信息,以便紧急情况下能够及时联系到乘客。
最后,要选择座位偏好和餐食需求,提前告知航空公司,以便他们为您提供更好的服务。
在支付机票费用时,我们需要注意保护个人信息和选择安全支付方式。
首先,要选择正规渠道支付,避免使用不明来源的支付平台。
其次,要确保支付页面的安全性,避免泄露个人银行账号和密码。
最后,要保存好支付凭证和订单信息,以备日后查询和退改签。
总的来说,中国民航订座系统的操作并不复杂,只要掌握好基本步骤和注意事项,就能够轻松完成订票。
希望这份操作手册能够帮助大家更好地使用民航订座系统,享受舒适便捷的出行体验。
祝大家旅途愉快!。
中国民航订座系统操作手册
中国民航订座系统操作手册中国民航订座系统操作手册目录1. 引言2. 登录与注册2.1. 注册新账户2.2. 登录现有账户3. 航班查询与预订3.1. 单程和往返航班查询3.2. 舱位选择和预订3.3. 旅行日期选择3.4. 乘客信息输入3.5. 订单确认和支付4. 机票管理4.1. 航班变更和退票4.2. 行李规定查询5. 其他功能5.1. 会员服务5.2. 报销凭证生成5.3. 旅客保险购买6. 常见问题解答7. 结束语1. 引言欢迎使用中国民航订座系统操作手册。
本手册将详细介绍如何利用该系统进行航班查询、预订和机票管理等操作,以及其他功能的使用方法和常见问题解答。
请按照手册的指引一步一步操作,以便顺利完成所需任务。
2. 登录与注册2.1. 注册新账户a. 打开中国民航订座系统网站,点击注册按钮。
b. 输入个人信息,包括姓名、手机号码、电子邮箱等,并创建密码。
c. 验证码校验后,点击确认提交注册申请。
d. 系统将发送确认邮件至注册时提供的邮箱,点击确认邮件中的链接完成注册。
2.2. 登录现有账户a. 打开中国民航订座系统网站,点击登录按钮。
b. 输入注册时使用的手机号码或邮箱,以及密码。
c. 点击登录按钮完成登录。
3. 航班查询与预订3.1. 单程和往返航班查询a. 在主页的航班查询栏中选择单程或往返。
b. 输入出发地和目的地城市名或三字码,并选择出发日期。
c. 点击查询按钮,系统将列出符合条件的航班信息。
3.2. 舱位选择和预订a. 在航班列表中选择合适的航班。
b. 在舱位列表中选择希望预订的舱位类型和价格。
c. 点击预订按钮,进入乘客信息输入页面。
3.3. 旅行日期选择a. 在航班查询结果页面中,点击日期选择器。
b. 选择合适的出发日期。
c. 点击查询按钮,系统将显示该日期的航班信息。
3.4. 乘客信息输入a. 根据系统提示,输入乘客的姓名、证件号码、性别等基本信息。
b. 根据需要选择座位要求、餐食要求等其他选项。
客舱网统一登录
客舱网统一登录概述:随着数字化时代的到来,互联网技术在旅行和航空业务领域的应用日益普及。
航空公司为了提供更好的旅行体验和方便的管理操作,开始引入客舱网统一登录系统。
客舱网统一登录系统是一个集成多个航空公司服务的平台,旨在为乘客提供一站式的登录和管理解决方案。
通过客舱网统一登录系统,乘客可以方便地访问航空公司的各种服务,如查询航班信息、预订机票、选座、办理在线值机等操作。
特点:1. 统一登录:客舱网统一登录系统允许乘客使用一个账号和密码登录,即可访问多个航空公司的服务。
无需记住多个账号和密码,大大提高了用户体验。
2. 一站式服务:客舱网统一登录系统整合了多家航空公司的服务,通过一个平台即可满足乘客的各种需求。
无需跳转多个网站或应用程序,节省了时间和精力。
3. 个性化推荐:客舱网统一登录系统可以根据乘客的历史记录和偏好,提供个性化的服务和推荐。
通过分析乘客的行为数据,系统可以向乘客推荐适合的机票、酒店和旅行服务,提高了用户满意度。
4. 多平台适配:客舱网统一登录系统可以在多种终端上使用,包括电脑、手机和平板电脑。
无论乘客在哪个终端上登录,都能够方便地获取航空公司的服务。
实施步骤:1. 航空公司接入:航空公司需要与客舱网统一登录系统提供商进行合作,将自身的服务接入系统中。
这包括航班信息、机票预订、值机、选座等服务内容。
2. 用户注册:乘客需要在客舱网统一登录系统上注册一个账号,填写相关个人信息并设置账号密码。
注册完成后,乘客可以使用该账号登录系统。
3. 航班查询和预订:乘客登录后,可以查看不同航空公司的航班信息,包括航班时刻表、航班状态、航线等。
乘客可以根据需求选择适合自己的航班,并进行在线预订。
4. 办理在线值机:乘客可以通过客舱网统一登录系统办理在线值机手续。
乘客可以选择座位、打印登机牌等操作,提前完成值机,避免排队等待。
5. 各类服务管理:乘客可以在客舱网统一登录系统上管理自己的航空服务。
包括修改个人信息、查看历史订单、申请退票等功能。
旅客服务系统名词解释
旅客服务系统名词解释旅客服务系统,又称为旅客信息系统(Passenger Service System,缩写为PSS),是指航空公司或铁路公司等运输公司用于管理旅客信息和提供旅客服务的计算机系统。
该系统集成了多个模块和功能,包括预订、登机、行李跟踪、票务退改签、乘客信息管理等。
以下是一些与旅客服务系统相关的名词解释:1. 预订系统(Reservation System):旅客可以通过此系统预订机票或车票,并进行座位选择、支付等操作。
2. 登机系统(Check-In System):用于检查旅客的登机信息和办理登机手续,提供电子登机牌和行李标签等。
3. 行李跟踪系统(Baggage Tracking System):负责追踪旅客托运的行李的位置,确保行李的准确运送和及时返还。
4. 退改签系统(Ticketing System):允许旅客退改机票或车票,并处理相关费用和手续。
5. 出票系统(Ticket Issuance System):用于生成和打印机票或车票,包括行程单、电子票等。
6. 乘客信息管理系统(Passenger Information Management System):存储和管理旅客的个人信息、机票历史记录、优惠券等数据,以便进行个性化服务和相应的市场活动。
7. 舱位管理系统(Inventory Management System):控制和管理各航班或列车的座位分配和价格调整,以实现舱位的最大利用和优化收益。
8. 售后服务系统(After-sales Service System):解决旅客在旅途中遇到的问题和投诉,提供客户服务和售后支持。
旅客服务系统的目标是提高旅客满意度,增强运输公司的竞争力,实现高效、便捷和安全的旅行体验。
电子行业南航电子客票系统
电子行业南航电子客票系统1. 引言南航电子客票系统是南方航空公司为提高运营效率和服务质量而开发的一套系统。
该系统通过电子方式替代传统的纸质客票,实现了在线购票、订票、改签、退票等功能,方便了乘客的操作,并提升了航空公司的运营效率。
2. 功能概述南航电子客票系统主要包含以下功能模块: -在线购票:乘客可以通过系统在电脑或手机上进行在线购票,选择航班、座位等信息。
- 订票管理:系统能够对乘客的订票信息进行管理和处理,包括座位分配、票价计算等。
- 改签服务:乘客可以通过电子客票系统进行航班改签操作,选择合适的航班和时间。
- 退票服务:乘客在需要退票时,可以通过系统进行退票操作,系统会自动计算退票费用并进行退款。
- 查询服务:乘客可以随时查询自己的航班、座位、购票记录等信息。
3. 系统架构南航电子客票系统采用客户端-服务器架构,包含以下组件: - 客户端:乘客通过手机App或Web浏览器访问系统,进行购票、订票、改签等操作。
- 服务器:负责处理乘客的请求,并与航空公司内部系统进行交互,如航班查询、座位分配等。
- 数据库:存储乘客的个人信息、航班信息、购票记录等数据。
4. 系统流程以下为南航电子客票系统的基本流程: 1. 乘客通过手机App或Web浏览器访问系统,并输入账号和密码进行登录。
2. 登录成功后,乘客可以选择航班、座位等信息进行购票。
3. 系统根据乘客选择的航班和座位进行票价计算,并生成电子客票。
4. 乘客支付购票费用后,系统会将电子客票发送至乘客的手机或电子邮箱。
5. 乘客可以随时通过系统查询自己的购票记录、航班信息等。
6. 若乘客需要改签或退票,可以通过系统进行相应操作,并按照规定支付费用。
7. 改签或退票成功后,系统会自动更新相应的航班信息和乘客购票记录。
5. 技术实现南航电子客票系统采用以下技术实现: - 前端开发:采用HTML、CSS、JavaScript等技术实现用户界面和交互功能。
数据结构课程设计题目(最终版)-2012
数据结构课程设计题目1、医务室模拟。
问题描述:假设只有一位医生,在一段时间内随机地来几位病人;假设病人到达的时间间隔为0~14分钟之间的某个随机值,每个病人所需处理时间为1~9分钟之间的某个随机值。
试用队列结构进行模拟。
实现要求:要求输出医生的总等待时间和病人的平均等待时间。
程序设计思路:计算机模拟事件处理时,程序按模拟环境中的事件出现顺序逐一处理,在本程序中体现为医生逐个为到达病人看病。
当一个病人就诊完毕而下一位还未到达时,时间立即推进为下一位病人服务,中间时间为医生空闲时间。
当一个病人还未结束之前,另有一位病人到达,则这些病人应依次排队,等候就诊。
2、招聘模拟问题描述:某集团公司为发展生产向社会公开招聘m个工种的工作人员,每个工种各有不同的编号(0,1,2,…,m-1)和计划招聘人数,参加招聘的人数有n个(编号为0,1,2,。
,n-1)。
每位应聘者可以申报两个工种,并参加公司组织的考试。
公司将按应聘者的成绩,从高到低的顺序排队录取。
公司的录取原则是:从高分到低分依次对每位应聘者按其第一志愿录取;当不能按第一志愿录取时,便将他的成绩扣去5分后,重新排队,并按其志愿考虑录取。
程序为每个工种保留一个录取者的有序队列。
录取处理循环直至招聘额满,或已对全部应聘者都做了录用处理。
实现要求:要求程序输出每个工种录用者的信息(编号、成绩),以及落选者的信息(编号、成绩)。
3、组织机构问题问题描述:以青岛理工大学为例,实现对我校组织结构的管理。
要求把我校的组织结构以树型结构存储,实现要求:(1)树中每个结点保存部门名称;(2)假定处级部门(含院系)在树中第二层,科级部门在第三层(即最后一层),软件应该能计算出处级部门有几个,有哪几个?(3)软件可以查询某部门下面的具体编制?4、最少换车次数问题问题描述:设某城市有n个车站,并有m条公交线路连接这些车站。
设这些公交车站都是单向的,这n个车站被顺序编号为0~n-1。
航空客运订票系统实习报告
实习报告一、实习背景及目的随着我国经济的快速发展,人民生活水平的不断提高,航空运输需求日益增长。
为了提高航空客运订票效率,降低运营成本,提升客户满意度,航空公司及相关部门积极引入先进的信息化技术,开发航空客运订票系统。
本次实习旨在了解航空客运订票系统的业务流程、掌握系统功能及操作方法,提高自身业务能力和实际操作技能。
二、实习内容与过程1. 实习前的准备工作在实习开始前,我认真学习了航空客运订票系统的相关理论知识,了解了航空客运订票系统的起源、发展及其在现代航空运输行业中的重要作用。
同时,我还熟悉了系统的操作界面、功能模块以及基本操作流程。
2. 实习过程中的主要工作(1)航线查询:根据旅客提出的终点站名,输出航班号、飞机号、星期几飞行,最近一天航班的日期和余票额等信息。
(2)订票业务:根据客户提出的要求(航班号、订票数额),查询该航班票额情况。
若尚有余票,则为客户办理订票手续,输出座位号;若已满员或余票额少于订票额,则需重新询问客户要求。
若需要,可登记排队候补。
(3)退票业务:根据客户提供的情况(日期、航班),为客户办理退票手续。
然后查询该航班是否有人排队候补,首先询问排在第一的客户,若所退票额能满足他的要求,则为他办理订票手续,否则依次询问其他排队候补的客户。
3. 实习中遇到的问题及解决方法在实习过程中,我遇到了一些问题,如系统操作不熟悉、业务流程不清晰等。
针对这些问题,我通过请教同事、查阅资料、总结经验等方式,逐步掌握了系统的操作方法,明确了业务流程。
同时,我还积极参与培训,提高自己的业务素质。
三、实习收获与反思通过本次实习,我掌握了航空客运订票系统的业务流程、功能模块及操作方法,提高了自己的业务能力和实际操作技能。
同时,我深刻认识到航空客运订票系统在提高航空公司运营效率、降低运营成本、提升客户满意度方面的重要作用。
反思实习过程,我认为自己在系统操作速度、业务熟悉程度、沟通协调能力等方面仍有待提高。
航空客运系统程序清单 加报告
课 程 设 计一、 题目分析从课程设计的题目要求可以知道,我们需要建立的是具有能对数据的插入, 删除 , 检索功能的软件。
由于乘客的数量较大且不固定,因此选择用链表来保存乘客的基本信息:终点站名、航班号、飞机号、飞行周日(星期几)、乘员定额、余票量等等,由于预约人数无法预计,队列也应以链表作存储结构。
所以我们建立一个可以插入和删除节点的链表,并能检索这个链表,在必要的时候将链表的内容保存到文件中。
系统主要实现的操作和功能是:查询航线、订票功能、退票功能。
要实现这些功能,首先要使程序能实现查找功能,在查找出到有效信息的前提之下,通过链表的赋值,更新信息和删除退票人信息,满足客户的要求。
二、设计过程(1)图1为程序总体流程图,首先直接调初始化函数,调用增加航班,查询航线,修改航线,删除航线,预定机票,退定机票,函数。
调用命令模式函数无实参,进行命令模式函数时,输入查找信息:终点站,如果决定订票,则输入5进行订票,如果不订票则输入8退出;输入7清屏。
如果以上操作输入有误,系统则输出提示:输入错误,请重新输入查询信息。
图1 程序总体流程图开始增加航线 Fligh tInser t()查询航线 Fligh tLoo kup()修改航线 Fligh tRew ork()删除航线 Fligh tDele te()订票 Fligt Buyti cket()退票 Fligh tCan celtic ket()清空系统 Fligh tclent ()退出系统结束12345678(2)图2为初始化函数流程图,主要是对链表中数据域置空,对链表初始化。
开始建立链表对链表头结点置空,使链表初始化建立新链表并赋给已定义链表返回图2 初始化函数流程图(3)图3为增加航线函数流程图,主要功能是把新航班信息写入新建的链表中,然后把新链表与储存航班的链表合并,得到新的航班信息,实现对新航线的增加。
开始建立新的链表用strcpy函数输新增航班信息建立新链表通过对新链表置空,使订票表头初始化返回图3增加航线函数流程图(4)图4为查询航班函数流程图,先输入查找信息,然后判断此查找信息是否存在,如果存在,则输出查找信息,如果不存在,则退出。
航空售票系统_毕业设计(论文)
毕业论文设计摘要随着计算机技术的发展,目前已经进入网络经济时代,基于Web实现企业的管理信息系统可以大大提高企业的工作效率、增加利润、降低成本。
WebServices(网络服务)技术是当今计算机软件业的焦点,它在现有的各种异构平台上实现一个通用的与平台无关、语言无关的技术层,使各种平台上的应用系统可以依靠这个技术层来实现彼此的连接与集成。
本文首先对现行的售票系统做了简要分析,得出现行售票系统中的不足,传统机票向电子机票过渡是潮流之势。
进而引出电子航空售票系统,电子航空售票系统取代传统人工售票系统,极大程度的节约了成本,并为用户提供更加快捷、简便的服务,具有重要的意义。
本系统设计和实现的过程中,充分利用先进计算机技术,保证了系统的灵活性、可扩展性、安全性和可靠性。
文章最后对本系统进行一系列评价,并总结了阶段工作成果。
关键词:管理信息系统;电子航空售票系统;Web Services;互操作性ABSTRACTInternet technology has been developed to a mature, the Internet has become a world-wide largest and most of the information center, an increasing number of people using the Internet to complete their work, and also more and more people use the Internet to the liberation of their lives They use the Internet to complete almost all of all the things in real life.Since all the fields in the use of the Internet, traditional business is also now a growing number of businessmen will be their business onto the Internet, the smaller they can open a small shop. The big point can open a website.The graduation project is the subject of Design and Implementation of an on-line Customer of e-commerce sites. For a traditional online shop to provide a platform for exhibition and sale. This system is mainly to Struts and JPA basis for the development and Mysql to JSP for the future performance of means. In the above basic realization of a functional e-commercesites should have functional modules, including the prospects and the background level.Prospects in the main features are: user registration, sign in, write-off, add the consignee, the consignee to amend the information, delete the consignee information, visit the merchandise. Add goods into the shopping cart, shopping cart of goods amended to delete the shopping cart of goods, empty shopping cart, the cart will generate goods orders, view orders, orders Details view.Background in the main features are: Show the list registers, managers registers, modify the user to view the list of goods, added commodities, commodities delete, modify Merchandise, view orders list, delete and so on orders.Keywords:E-commerce,fight-ticket booking online, Web Service, mvc目录第一章前言 (4)1.1 课题背景 (4)1.2 现状分析 (5)1.3预期设计目标 (5)第二章系统分析 (6)2.1可行性分析 (6)2.2收集需求 (6)2.3 需求分析 (7)2.4 技术需求 (7)第三章开发环境及开发工具的介绍 (8)3.1 Java语言介绍 (8)3.2 Eclipse介绍 (8)3.3 Tomcat介绍 (8)3.4 SQL Server2005介绍 (9)3.5 开源框架Struts介绍 (9)一模型(Model) (9)二视图(View) (10)三控制器(Controller) (10)3.6 平台技术架构 (10)第四章系统总体设计 (12)4.1 系统功能描述 (12)4.2 系统功能结构图 (12)1.前台用户操作业务流程为: (12)2.后台企业员工操作业务流程 (12)4.3 数据库设计 (13)第五章详细设计 (13)5.1 网站前台首页设计 (14)5.2 网站前台功能详细实现 (14)5.2.1会员注册登录模块 (14)5.2.2预订机票模块 (18)5.2.3管理员模块 (19)第六章系统测试 (23)6.1 软件测试的基本方法 (23)6.2测试分析 (23)1. 用户界面测试 (23)2. 功能测试 (23)3. 兼容性测试 (24)结束语 (25)致谢 (26)参考文献 (27)第一章前言航空客运业务诞生已有近一个世纪了,作为现有交通工具中最方便快捷的一种,它确确实实地给民众的生活、出行带来了极大的方便。
航班管理系统
航班管理系统实现功能:查询:1,普通查询:按航班号查询,按航空公司,按目的地。
(航班号:可以得知具体起飞地点时间等信息;航空公司;得知该公司所有航班的信息;目的地:分2种:1直接选择到达目的地,查询所有航班信息,2在抵达目的地的基础上多了个出发地点,查询得到的所有从该出发地点起飞,到目的地的航班信息。
)2,综合查询:单程,往返,联程(单程即让乘客给出出发地点,到达时间和出发时间,查询得到的是与出发时间最接近的航班信息;联程即在单程基础上增加第二到达城市与第二到达城市的出发时间,使乘客在2个不同城市旅行时对第二目的地的乘坐班次有所了解。
)3,余票额得包含到以上信息中。
一些常见的航空公司:上海有:上海春秋航空公司、中国东方航空集团公司、上海航空股份有限公司四川航空股份有限公司广西航空股份有限公司江西航空股份有限公司旅游地:北京,海南岛,云南,九寨沟,黄山,张家界,广西,珠三角,长三角,西藏与新疆首先进入“页面”,用户会看到菜单:选择管理员和普通用户;选择后进入相关界面:(1)管理员:输入密码及名字,判断是否正确,若正确即可进行操作,反之提示错误并退出或重新输入;(2)普通用户:界面设置:登陆个人中心---查询---订票---改签---退票---反馈;普通查询。
个人中心:用户名,密码,证件号;历史记录(查看自己已订票及相关信息);已订票;退票;意见反馈;(登录,退出,重新登录,修改账户密码)普通查询:直接进入查询界面,并链接订票退票板块。
查询好即可订票,根据选择的航班,输入用户信息,舱位信息,然后确认提交。
退票:输入自己的机票号和证件号,查询机票的信息。
确认退票,并将票收回。
改签:用户提供机票号和证件号,查询出机票的信息,然后再录入改签的数据(日期或时间),并查询是否有相关票及票数余额,若有则计算出价格差额,多退少补,执行改签操作。
管理员:能添加,删除站点,修改站点信息(名称,地址,电话等),添加,删除营业员可以添加新账户,删除现有账户,设置某个账户的密码清空,管理员能为每个账户赋予或删除权限(权限类型预先定义)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
题目5 航空客运订票系统(难度系数:1.2)
[问题描述]
航空客运订票的业务活动包括:查询航线、客票预订和办理退票等。
试设计一个航空客运订票系统,以使上述业务可以借助计算机来完成。
[基本要求]
(1)每条航线所涉及的信息有:终点站名、航班号、飞机号、飞行周日(星期几)、乘员
定额、余票量、已订票的客户名单(包括姓名、订票量、舱位等级1,2或3)以及等候替补的客户名单(包括姓名、所需票量);
(2)作为示意系统,全部数据可以只放在内存中;
(3)系统能实现的操作和功能如下:
①查询航线:根据旅客提出的终点站名输出下列信息:航班号、飞机号、星期几飞行,最近一天航班的日期和余票额;
②承办订票业务:根据客户提出的要求(航班号、订票数额)查询该航班票额情况,若尚有余票,则为客户办理订票手续,输出座位号;若已满员或余票额少于订票额,则需重新询问客户要求。
若需要,可登记排队候补;
③承办退票业务:根据客户提供的情况(日期、航班),为客户办理退票手续,然后查询该航班是否有人排队候补,首先询问排在第一的客户,若所退票额能满足他的要求,则为他办理订票手续,否则依次询问其它排队候补的客户。
[测试数据]
由读者指定。
[实现提示]
两个客户名单可分别由线性表和队列实现。
为查找方便,已订票客户的线性表应按客户姓名有序,并且,为插入和删除方便,应以链表作存储结构。
由于预约人数无法预计,队列也应以链表作存储结构。
整个系统需汇总各条航线的情况登录在一张线性表上,由于航线基本不变,可采用顺序存储结构,并按航班有序或按终点站名有序。
每条航线是这张表上的一个记录,包含上述八个域、其中乘员名单域为指向乘员名单链表的头指针,等候替补的客户名单域为分别指向队头和队尾的指针。
[选做内容]
当客户订票要求不能满足时,系统可向客户提供到达同一目的地的其它航线情况。
读者还可充分发挥自己的想象力,增加你的系统的功能和其它服务项目。