数据结构课程设计_航空客运订票系统

数据结构课程设计_航空客运订票系统
数据结构课程设计_航空客运订票系统

课程设计报告
设计名称:
数据结构课程设计
选题名称:
航空客运订票系统
姓 名: 张庆凤
学 号: 221003136
专业班级:
计算机科学与技术
系 (院):
计算机工程学院
设计时间:
2010.12.19~2010.12.30
设计地点:
软件工程实验室、教室
指导教师评语:
成绩:
签名:
年月日

数据结构课程设计报告
第 1 页,共 24 页
1.课程设计目的
1、训练学生灵活应用所学数据结构知识,独立完成问题分析,结合数据结构理论知识,编写程序求解指定 问题。
2.初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能; 3.提高综合运用所学的理论知识和方法独立分析和解决问题的能力; 4.训练用系统的观点和软件开发一般规范进行软件开发,巩固、深化学生的理论知识,提高编程水平,并在 此过程中培养他们严谨的科学态度和良好的工作作风。
2.课程设计任务与要求:
任务 根据教材《数据结构-C 语言描述》(耿国华主编)和参考书《数据结构题集(C 语言版)》(严蔚敏、吴伟民 主编)选择课程设计题目,要求通过设计,在数据结构的逻辑特性和物理表示、数据结构的选择应用、算法的设 计及其实现等方面加深对课程基本内容的理解和综合运用。 设计题目从任务书所列选题表中选取,每班每题不得超过 2 人。 学生自选课题 学生原则上可以结合个人爱好自选课题,要求课题有一定的深度与难度,有一定的算法复杂性,能够巩固数 据结构课程所学的知识。学生自选课题需在 18 周前报课程设计指导教师批准方可生效。 要求: 1、在处理每个题目时,要求从分析题目的需求入手,按设计抽象数据类型、构思算法、通过设计实现抽象
数据类型、编制上机程序和上机调试等若干步骤完成题目,最终写出完整的分析报告。前期准备工作完 备与否直接影响到后序上机调试工作的效率。在程序设计阶段应尽量利用已有的标准函数,加大代码的 重用率。 2、设计的题目要求达到一定工作量(300 行以上代码),并具有一定的深度和难度。 3、程序设计语言推荐使用 C/C++,程序书写规范,源程序需加必要的注释; 4、每位同学需提交可独立运行的程序; 5、每位同学需独立提交设计报告书(每人一份),要求编排格式统一、规范、内容充实,不少于 10 页(代 码不算);
6、课程设计实践作为培养学生动手能力的一种手段,单独考核。

数据结构课程设计报告
第 2 页,共 24 页
3.课程设计说明书
一 需求分析
1.每条航线所设计的信息有:终点站名,航班号,飞机号,飞行周日(星期几),乘员定额,余票量,已订票 的客户名单(包括姓名,订票量,舱位等级 1,2 或 3)以及等候替补的客户名单(包括姓名,所需票量);
2.作为示意系统,全部数据可以只存放在内存中; 3.系统能实现的操作功能如下:
a)查询航线: 根据旅客提出的终点站名输出下列信息:航班号,飞机号,星期几飞行,最近一天航班的日期和余票额; b.) 承办订票业务: 根据客户提出的要求(航班号,订票数额)查询该航班票额情况,若尚余票则为客户办理订票手续,输出 座位号;若已满员或余票额少于订票额,则需重新询问客户要求。若需要可登记排队候补; c.) 承办退票业务: 根据客户提供的情况(日期,航班),为客户办理退票手续,然后查询该航班是否有人排队候补,首先询 问排在第一的客户,若退票额能满足他的要求,则为他办理订票手续,否则依次询问其它排队候补的 客户。
二 概要设计
系统结构图
主函数




退

退
线















线




(2)简介 主函数:主要运用了 switch 函数和 do 语句。 航线信息:显示已初始化的全部航线信息,定义了函数类型以及打印函数,运用了 while 语句以及指针。 客户信息:浏览已订票客户信息,定义了函数类型,运用了 if 和 while 语句。 查询航线:调用 find()函数寻找航线信息,定义了函数类型,运用了 if 和 while 语句以及指针。 订票办理:定义了函数类型,运用了 if 语句及指针。

数据结构课程设计报告
第 3 页,共 24 页
退票办理:定义了函数类型,调用查询函数,退票成功后,重新将航线名单域指向订票单链表的头指针。
根据队列中从出的客户信息判断是否满足要求,如果满足,则将该客户的信息插入到乘客信息链表中。运
用了 if 和 while 语句以及指针。
剩票排序:定义了函数类型,运用了 if 和 for 语句及指针。
退出系统:直接退出。
三 详细设计
航空客运订票系统:
主函数:
int menu_select()
/*菜单界面*/
{ int c;
char s[20];
printf("\n");
printf("\t\t\t 航空客运订票系统\n");
printf("\t\t--------------------------------------\n");
printf("\t\t--------------------------------------\n");
printf("
***1.航 线 信 息***\n");
printf("
***2.客 户 信 息***\n");
printf("
***3.查 询 航 线***\n");
printf("
***4.订 票 办 理***\n");
printf("
***5.退 票 办 理***\n");
printf("
***6.剩 票 排 序***\n");
printf("
***7.退 出 系 统***\n");
printf("\t\t--------------------------------------\n");
printf("\t\t--------------------------------------\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;

数据结构课程设计报告
第 4 页,共 24 页
case 5:return_tkt();break;
case 6:sort_tkt();break;
case 7:printf("\n 感谢使用本系统 欢迎您下次使用!\n");exit(0);
};
printf("Press any key to continue \n");
}
}
航线信息:
struct airline
{ char ter_name[10];/*终点站名 */
char air_num[10];/*航班号*/
char plane_num[10];/*飞机号*/
char date[7];/*飞行日期(星期几)*/
int tkt_amt;/*乘员定额*/
int tkt_sur;/*余票量*/
linklist *order;/*乘员名单域,指向乘员名单链表的头指针*/
linkqueue wait;/*等候替补的客户名单域,分别指向排队等候名单队头队尾的指针*/
}lineinfo;
struct airline *start;
struct airline air[MAXSIZE]={{"aaaaa","1","#123","Mon",4,2},
{"bbbbb","2","#456","Tue",5,3},
{"ccccc","3","#789","Fri",2,4}};;
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->date,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{display(info);
info++;
i++;}
printf("\n\n");
}
查询航线:
void search()
/*根据客户提出的终点站名输出航线信息*/
{ struct airline *info,*find();
char name[10];
int i=0;
info=start;
printf("请输入终点站名:");

数据结构课程设计报告
第 5 页,共 24 页
scanf("%s",name);
while(i{if(!strcmp(name,info->ter_name)) break;
info++;
i++;
}
if(i>=MAXSIZE)
printf("对不起,该航线未找到!\n");
else
{
printf("终点站名\t 航班号\t 飞机号\t 飞行日期\t 乘员定额\t 余票量\n");
display(info);
}
}
struct airline *find()
/*根据系统提出的航班号查询并以指针形式返回*/
{ struct airline *info;
char number[10];
int i=0;
info=start;
printf("请输入航班号:");
scanf("%s",number);
while(i{
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;
}
}
else

数据结构课程设计报告
第 6 页,共 24 页
printf("该航线没有客户信息!!\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=NULL;}
else
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;
else
q.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;

数据结构课程设计报告
第 7 页,共 24 页
}
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;iprintf("%s 的座位号是:%d\n",name,info->tkt_amt-info->tkt_sur+i+1);
info->tkt_sur-=amount;/*该航线的余票量应减掉该客户的订票量*/
printf("\n 祝您乘坐愉快!\n");
}
else
/*若满员或余票额少于订票额,询问客户是否需要进行排队等候*/
{ char r;
printf("\n 已经没有更多的票,您需要排队等候吗?(Y/N)");
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;

数据结构课程设计报告
第 8 页,共 24 页
}
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);
}
剩票排序:
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_surtkt_sur)
{
t=*p;
*p=*q;
*q=t;
}
}
printf("终点站名\t 航班号\t 飞机号\t 飞行日期\t 乘员定额\t 余票量\n");
for(j=0;j{
display(info);
info++;
}
}
四 设计与调试分析 航空客运订票系统: 首先,可视化界面让程序实现的比较直接、省时。在分析实现时,利用栈和队列的相关知识实
现所要实现的功能。链表在其中发挥了比较重要的作用。运行程序时输入了多种不同字符信息,经 过多次修改结果达到了预期效果。说明程序具有一定的可靠性和稳定性。当然,该系统的语言比较 基础,降低了运行效率除此之外,该程序也有很多不足,若乘客订多票并要退票时,应设计一个板 块询问其是否全部退票。当乘客订票选舱位时,应询问是否订不同票价的机舱。还有,只设置了终

数据结构课程设计报告
第 9 页,共 24 页
点站,没设起始站。除此之外,关于星期几的设置没有设成字符串型,无疑降低了运行效率。
五 用户手册 航空客运订票系统: 当用户进入指定界面后,根据自身的需求选择 1-7 其中一个序号。若选择“1”,则会显示出本
系统内存中的 3 条航线的相关信息;若选择“3”,输入航班号,则可以浏览所求航线的相关信息; 若选择“4”,则输入航班号以及订票量,若订票量的数目不大于余票量,则订票成功,若大于余票 量,系统提示是否候票,接着用户选择是否候票;若选择“2”,输入航班号,就可以得到该航班上 的客户信息;若选择“5”,输入航班号和客户姓名,则可以成功退票,此时若有人候票,则前几个 人便可以订票成功;若选择“6”,系统将会将航班的相关信息按剩票的多少排逆序;若选择“7”, 便会直接退出系统,系统会显示“感谢使用本系统,欢迎您下次使用!”
六 测试成果
航空客运订票系统:

数据结构课程设计报告
第 10 页,共 24 页

数据结构课程设计报告
第 11 页,共 24 页

数据结构课程设计报告
第 12 页,共 24 页

数据结构课程设计报告
第 13 页,共 24 页

数据结构课程设计报告
第 14 页,共 24 页
七 附录(源程序清单) #include #include #include #include #define MAXSIZE 3 typedef struct wat_ros { char name[10];
int req_amt; struct wat_ros *next; }qnode,*qptr; typedef struct pqueue { qptr front; /*等候替补客户名单域的头指针*/ qptr rear; /*等候替补客户名单域的属指针*/ }linkqueue; typedef struct ord_ros/*订票信息*/ { char name[10]; int ord_amt; int grade; struct ord_ros *next;

数据结构课程设计报告
第 15 页,共 24 页
}linklist;
struct airline/*航线信息*/
{ char ter_name[10];/*终点站名 */
char air_num[10];/*航班号*/
char plane_num[10];/*飞机号*/
char date[7];/*飞行日期(星期几)*/
int tkt_amt;/*乘员定额*/
int tkt_sur;/*余票量*/
linklist *order;/*乘员名单域,指向乘员名单链表的头指针*/
linkqueue wait;/*等候替补的客户名单域,分别指向排队等候名单队头队尾的指针*/
}lineinfo;
struct airline *start;
struct airline air[MAXSIZE]={{"qqqqq","1","#123","Mon",4,2},
{"bbbbb","2","#456","Tue",5,3},
{"ccccc","3","#789","FRI",2,4}};;
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->date,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{
display(info);
info++;
i++;
}
printf("\n\n");

数据结构课程设计报告
第 16 页,共 24 页
}
void search()/*查询航线*/
{ struct airline *info,*find();/*根据客户提出的终点站名输出航线信息*/
char name[10];
int i=0;
info=start;
printf("请输入终点站名:");
scanf("%s",name);
while(i{
if(!strcmp(name,info->ter_name)) break;
info++;
i++;
}
if(i>=MAXSIZE)
printf("对不起,该航线未找到!\n");
else
{
printf("终点站名\t 航班号\t 飞机号\t 飞行日期\t 乘员定额\t 余票量\n");
display(info);
}
}
struct airline *find()
{ struct airline *info;/*根据系统提出的航班号查询并以指针形式返回*/
char number[10];
int i=0;
info=start;
printf("请输入航班号:");
scanf("%s",number);
while(i{

数据结构课程设计报告
第 17 页,共 24 页
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;
}
}
else
printf("该航线没有客户信息!!\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)/*若原无订票客户信息*/
第 18 页,共 24 页
{head=new1;new1->next=NULL;}
else
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;
else
q.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 对不起,您输入的票的数量已经超过乘员定额!");

数据结构课程设计报告
第 19 页,共 24 页
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;iprintf("%s 的座位号是:%d\n",name,info->tkt_amt-info->tkt_sur+i+1);
info->tkt_sur-=amount;/*该航线的余票量应减掉该客户的订票量*/
printf("\n 祝您乘坐愉快!\n");
}
else /*若满员或余票额少于订票额,询问客户是否需要进行排队等候*/
{ char r;
printf("\n 已经没有更多的票,您需要排队等候吗?(Y/N)");
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()/*退票业务*/
/*退票模块*/

数据结构航空客运订票系统

航空客运订票系统 程序要求: 1、问题描述 航空客运订票的业务活动包括:查询航线、客票预订和办理退票等。设计一个航空客运订票系统,以使上述业务可以借助计算机完成。 2、要求 1)每条航线所涉及的信息有:终点站名、航班号、飞机号、飞行周日(星期几)、乘员定额、余票量、已订票的客户名单(包括名字、订票量、舱位等级1、2、3)以及等候替补的客户名单; 2)系统实现的功能如下: 通过此系统可以实现如下功能: 录入:可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定) 查询:可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓);可以输入起飞抵达城市,查询飞机航班情况; 订票:(订票情况可以存在一个数据文件中,结构自己设定)可以订票,如果该航班已经无票,可以提供相关可选择航班; 退票:可退票,退票后修改相关数据文件;客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。 修改航班信息:当航班信息改变可以修改航班数据文件 存储结构:航线的所有信息存储在一个结构体中,增加,查询,订票,退票等操作按队列的操作来实现。 程序流程图:

详细代码: #include <> #include <> #include <> #include <> #define m 4 查看排队情况 *"; cout<

数据结构课程设计报告模板

课程设计说明书 课程名称:数据结构 专业:班级: 姓名:学号: 指导教师:成绩: 完成日期:年月日

任务书 题目:黑白棋系统 设计内容及要求: 1.课程设计任务内容 通过玩家与电脑双方的交替下棋,在一个8行8列的方格中,进行棋子的相互交替翻转。反复循环下棋,最后让双方的棋子填满整个方格。再根据循环遍历方格程序,判断玩家与电脑双方的棋子数。进行大小判断,最红给出胜负的一方。并根据y/n选项,判断是否要进行下一局的游戏。 2.课程设计要求 实现黑白两色棋子的对峙 开发环境:vc++6.0 实现目标: (1)熟悉的运用c语言程序编写代码。 (2)能够理清整个程序的运行过程并绘画流程图 (3)了解如何定义局部变量和整体变量; (4)学会上机调试程序,发现问题,并解决 (5)学习使用C++程序来了解游戏原理。 (6)学习用文档书写程序说明

摘要 本文的研究工作在于利用计算机模拟人脑进行下黑白棋,计算机下棋是人工智能领域中的一个研究热点,多年以来,随着计算机技术和人工智能技术的不断发展,计算机下棋的水平得到了长足的进步 该程序的最终胜负是由棋盘上岗双方的棋子的个数来判断的,多的一方为胜,少的一方为负。所以该程序主要运用的战术有削弱对手行动战术、四角优先战术、在游戏开局和中局时,程序采用削弱对手行动力战术,即尽量减少对手能够落子的位置;在游戏终局时则采用最大贪吃战术,即尽可能多的吃掉对手的棋子;而四角优先战术则是贯穿游戏的始终,棋盘的四角围稳定角,不会被对手吃掉,所以这里是兵家的必争之地,在阻止对手进角的同时,自己却又要努力的进角。 关键词:黑白棋;编程;设计

民用航空客运服务产品评价(一)

民用航空客运服务产品评价(一) 摘要:航空客运服务产品是航空公司运营的核心,是航空公司竞争的基础。只有充分地研究客运服务产品,很好地提高客运服务产品的品质,树立良好品牌,才能够改变观念,提高航空公司的竞争力,才能从根本上解决中国航空公司运营服务中存在的问题。 关键词:民用航空;客运服务;评价 1航空客运服务产品的概念及性质 1.1航空客运服务产品概念的界定 一项服务产品就是一项顾客服务经历,即指顾客从进入到离开一个服务系统的历经总和。这种历经总和可由标的顾客、顾客流程、接触雇员和物质实据来说明。航空客运服务产品可界定为:标的旅客从购票开始到乘机,直到离开飞机而实现空间位移愿望的整个旅行历经的总和。在整个历经中旅客要接受航空公司提供的各种服务。这种历经总和可由标的旅客、旅客流程、接触雇员和物质实据来说明。 以上界定是从纵向的角度看待客运服务产品的,如果从横向的角度去界定客运服务产品,其可以划分为三个部分:旅客接受的核心服务、便利性服务和支持性服务。 (1)核心服务:它是为顾客提供的本质的、最基本的服务。航空客运服务产品的核心服务是:空间位移。提供航班运营,实现空间位移,满足旅客旅行的需求,是航空公司客运的核心服务。 (2)便利性服务:即为了顾客能够使用核心服务而常常设有的一些附加服务,如果缺少它,核心服务就不能上市或者说是残缺产品。航空客运服务产品的便利性服务是:保证航班运营的必备服务。航空公司提供给旅客的便利性服务是通过售票、办理乘机手续、登机、以及行 李托运等服务,使旅客完成旅行。 (3)支持性服务:即用来使服务增值或有别于竞争者的服务,是核心服务发挥最大效用的服务。航空客运服务产品的支持性服务是:使客运服务增值的服务。航空公司提供给旅客的支持性服务包括免费查询、免费送票服务、空中服务,候机厅内电话、传真、复印、网吧、美容美发、超市、以及鲜花礼仪服务等等。 1.2航空客运服务产品的特征 航空客运服务产品的基本特征包括以下几个方面: (1)无形性:即服务产品不具有有形的、可以看得见、接触到的外表或形状,但是服务产品经常借助于有形物质来实现。客运服务产品属于无形产品,与其他有形产品不同,往往是不可触摸的。但有些情况下,服务和一些物质形态的东西相关联,如旅客花钱买飞机票,不是买飞机,而是借助于飞机,通过航空公司提供给旅客的乘机服务,来实现空间位移的目标,达到旅行的目的。 (2)不可分性:即服务产品的生产与消费同时进行,消费者参与生产过程,核心价值在买卖双方的相互作用中产生。航空客运服务产品的所谓不可分性是指服务的生产过程与消费过程同时进行,也就是说服务人员提供服务给旅客时,也正是旅客消费服务的时刻,两者在时间上不可分离。而且,旅客只有且必须加入到服务的生产过程中才能最终消费到服务。(3)不可存储性:即服务产品不能储存。航空公司提供给旅客的客运服务产品并不能够因为旅客的多少而储存,进行经济批量生产。客运服务产品的不可分性决定了运力不可储存。旅客一进入客运服务系统,客运服务产品就开始生产,旅客一离开客运服务系统,客运服务产品就被消费完毕。 (4)差异性:即服务产品的组成部分和质量水平很容易随不同的人、时间、地点而变化,不易稳定和统一。航空客运服务是以“人”为中心的行业,由于人类个性的存在,使得对服务质量的检验很难采用统一的标准。一方面由于服务人员自身因素的影响,在不同时间、不同的环境会提供不同水准的服务;另一方面由于旅客自身的因素会影响服务质量和服务效果,

航空客运订票系统

航空客运订票系统 设计报告 姓名: 班级: 学号: 学院: 专业: 指导: 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. 巩固和加深对常见数据结构的理解和掌握 2. 掌握基于数据结构进行算法设计的基本方法 3. 掌握用高级语言实现算法的基本技能 4. 掌握书写程序设计说明文档的能力 5. 提高运用数据结构知识及高级语言解决非数值实际问题的能力 二.课程设计容说明 1. 项目一 (1) 对设计任务容的概述 学生成绩管理** 任务:要现对学生资料的录入、浏览、插入和删除等功能。 输入:设学生成绩以记录形式存储,每个学生记录包含的信息有:学号和各门课程的成绩,设学生成绩至少3门以上。存储结构:采用线性链式结构。 (2) 详细设计 LinkList *create():输入学生成绩记录函数; void print(LinkList *head):显示全部记录函数 LinkList *Delete(LinkList *head):删除记录函数 LinkList *Insert(LinkList *head):插入记录函数 void menu_select():菜单选择 void ScoreManage():函数界面 (3) 程序流程图

(4) 程序模块及其接口描述 该程序可以分为以下几个模块: 1、菜单选择:void menu_select(); 提供五种可以选择的操作,在main函数过switch语句调用菜单menu_select()函数,进入不同的功能函数中完成相关操作。 2、输入功能:LinkList *create(); 通过一个for循环语句的控制,可以一次完成无数条记录的输入。并将其存入链

航空客运订票系统

航空客运订票系统 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个域、其中乘员名单域为指向乘员名单链表的头指针,等候替补的客户名单域为分别指向队头和队尾的指针。 注:由于“航线”可只用一条单链表记录,故采用全局变量,减少参数的传递。

数据结构课程设计报告范例

Guangxi University of Science and Technology 课程设计报告 课程名称:算法与编程综合实习 课题名称: 姓名: 学号: 院系:计算机学院 专业班级:通信121 指导教师: 完成日期:2012年12月15日

目录 第1部分课程设计报告 (3) 第1章课程设计目的 (3) 第2章课程设计内容和要求 (4) 2.1 问题描述 (4) 2.2 设计要求 (4) 第3章课程设计总体方案及分析 (4) 3.1 问题分析 (4) 3.2 概要设计 (7) 3.3 详细设计 (7) 3.4 调试分析 (10) 3.5 测试结果 (10) 3.6 参考文献 (12) 第2部分课程设计总结 (13) 附录(源代码) (14)

第1部分课程设计报告 第1章课程设计目的 仅仅认识到队列是一种特殊的线性表是远远不够的,本次实习的目的在于使学生深入了解队列的特征,以便在实际问题背景下灵活运用它,同时还将巩固这种数据结构的构造方………………………………………………………………………………………………………………………………………………………………………………………..(省略)

第2章课程设计内容和要求 2.1问题描述: 迷宫问题是取自心理学的一个古典实验。在该实验中,把一只老鼠从一个无顶大盒子的门放入,在盒子中设置了许多墙,对行进方向形成了多处阻挡。盒子仅有一个出口,在出口处放置一块奶酪,吸引老鼠在迷宫中寻找道路以到达出口。对同一只老鼠重复进行上述实验,一直到老鼠从入口走到出口,而不走错一步。老鼠经过多次试验最终学会走通迷宫的路线。设计一个计算机程序对任意设定的矩形迷宫如下图A所示,求出一条从入口到出口的通路,或得出没有通路的结论。 图A 2.2设计要求: 要求设计程序输出如下: (1) 建立一个大小为m×n的任意迷宫(迷宫数据可由用户输入或由程序自动生成),并在屏 幕上显示出来; (2)找出一条通路的二元组(i,j)数据序列,(i,j)表示通路上某一点的坐标。 (3)用一种标志(如数字8)在迷宫中标出该条通路; (4)在屏幕上输出迷宫和通路; (5)上述功能可用菜单选择。

航空客运订票系统

通达学院程序设计报告(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 及实验) 一条航线包括了目的地、航班号、飞机号、飞行周日、总票数、余票量、订票人员、候补人员等信息,我们可以将航线看成一类,定义为一个类,而订票人员通

数据结构课程设计说明书讲解

安徽理工大学 数据结构 课程设计说明书题目: 一元多项式计算 院系:计算机科学与工程学院 专业班级:数字媒体13-1班 学号: 2013303102 学生姓名:钱福琛 指导教师:梁兴柱 2015年 1月 9 日

安徽理工大学课程设计(论文)任务书计算机科学与工程学院

2014年 11 月 10 日安徽理工大学课程设计(论文)成绩评定表

目录 1 问题描述 2 功能描述 2.1 课题要求........................................... 2.2 软件格式规定....................................... 3 设计 2 3.1 相关函数介绍说明................................... 3.2 主程序的流程基函数调用说明......................... 4 程序设计 4 4.1 多项式存储的实现................................... 4.2 加减乘除算法....................................... 4.2.1加法运算的实现............................... 4.2.2减法运算的实现............................... 4.2.3乘法运算的实现............................... 4.2.4除法运算的实现............................... 4.3 函数调用关系图..................................... 5 运行测试

航空公司管理信息系统

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

航空客运订票系统

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

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

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

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

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

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

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

数据结构课程设计(附代码)

上海应用技术学院课程设计报告 课程名称《数据结构课程设计》 设计题目猴子选大王;建立二叉树;各种排序;有序表的合并;成绩管理系统;院系计算机科学与信息工程专业计算机科学与技术班级 姓名学号指导教师日期 一.目的与要求 1. 巩固和加深对常见数据结构的理解和掌握 2. 掌握基于数据结构进行算法设计的基本方法 3. 掌握用高级语言实现算法的基本技能 4. 掌握书写程序设计说明文档的能力 5. 提高运用数据结构知识及高级语言解决非数值实际问题的能力 二.课程设计内容说明 1. 项目一 (1) 对设计任务内容的概述 学生成绩管理** 任务:要求实现对学生资料的录入、浏览、插入和删除等功能。 输入:设学生成绩以记录形式存储,每个学生记录包含的信息有:学号和各门课程的成绩,设学生成绩至少3门以上。存储结构:采用线性链式结构。 (2) 详细设计 LinkList *create():输入学生成绩记录函数; void print(LinkList *head):显示全部记录函数 LinkList *Delete(LinkList *head):删除记录函数 LinkList *Insert(LinkList *head):插入记录函数 void menu_select():菜单选择 void ScoreManage():函数界面

(3) 程序流程图 (4) 程序模块及其接口描述 该程序可以分为以下几个模块: 1、菜单选择:void menu_select(); 提供五种可以选择的操作,在main函数中通过switch语句调用菜单menu_select()函数,进入不同的功能函数中完成相关操作。

国际航空客运基础

目录 第一章基础知识 (1) 一三大业务区 (1) 二一国规定 (1) 三航线代号 (1) 四航程类型 (1) 五客票点定义 (2) 六飞行时间的计算 (2) 第二章货币与付费 (2) 一货币代码的组成 (2) 二货币的保留位数 (2) 三货币的进整规则 (2) 四付费规定 (3) 第三章客票及客票填开 (3) 一客票的一般规定 (3) 第四章国际运价计算 (4) 一公布直达运价 (6) 二超里程附加(EMS) (7) 三超里程优惠(EMA) (8) 四特殊航线 (9) 五中间较高票价(HIP) (9) 六回拽最低收费检查(BHC、BHM) (9) 七方向性最低收费检查(DMC) (10) 八运价组始发国最低收费检查(COM) (12) 九混合等级运价计算 (13) 十缺口程(OJ) (13) 十一旁岔程 (15) 第五章特殊旅客 (16)

航空旅客国际运输 第一章基础知识 一、三大业务区 1、一区:南、北美洲及其附属岛屿、中美洲格陵兰岛、加勒比海及西印度群岛、百慕 大、夏威夷群岛(包括棕榈岛、中途岛) 2、二区:欧洲、非洲及其附属岛屿、乌拉尔山以西的亚洲部分(包括伊朗) 3、三区:亚洲及其附属岛屿(不包括以含在二区内的部分)、乌拉尔山以东俄罗斯部 分、澳大利亚、新西兰及太平洋岛屿(不包括一区在内的部分) 二、一国规定 在国际课余业务处理上,美国与加拿大;北欧三国(丹麦、挪威、瑞典)分别被视为一国 三、航线代号 1、WH:西半球航线:指整个航程在一区以内的航线。TYO—NYC—RIO 2、EH:东半球航线:指整个航程在二、三区以内的航线。SIN—BKK—PAR 3、PA:经过北、中大西洋航线。BJS—TYO—LAX 4、AT:经过大西洋航线。NYC—LON—PAR 5、AP:经过大西洋及太平洋航线。TYO—NYC—LON 6、SA:北大西洋与东南亚之间飞跃大西洋并经过约翰内斯堡的航线。RIO—JIB—LON 7、SA:二区与三区(不包括中国、南亚四大陆)之间,经过西伯利亚、欧洲与日本/韩国 之间不经停的航线;或欧洲与三区CIS国家(亚美尼亚、阿塞拜疆、白俄罗斯、爱沙尼亚、格鲁吉亚、哈萨克斯坦、吉尔吉斯斯坦、拉托维亚、立陶宛、摩尔多瓦、俄罗斯、塔吉克斯坦、土库曼斯坦、乌克兰、乌兹比克斯坦)/蒙古之间不经停的航线。KUL—TYO—PAR OR FRA—KHV 8、PE:乌拉尔山以西的俄罗斯部分、乌克兰与三区之间的航线(不包括TS航线)。 MOV—HAN—HKG 9、SP:南极航线,南大西洋地区、玻利维亚、秘鲁与西南大西洋之间经过奥克兰及布 宜诺斯艾利斯航线。SYD—AKL—BUE—LIM 10、PO:北极航线,经过北极(ANC)的航线。TYO—ANC—LON 四、航程类型 1、OW:单程。BJS—LAX—NYC 2、RT:来回程。BJS—SIN—BJS 1)航程、运价一致:BJS—SIN—BJS 2)航程不一致、运价一致:BJS—BKK—PAR—HKG—BJS 3)航程一致、运价不同、基础运价相同。BJS—SIN—BJS Y F 3、CT:环程。BJS—TYO—NYC—BJS 来回程是环程特殊的一种 4、RTW:环球程(同时经过太平洋、大西洋,真正到过1、2、3 区) BJS—TYO—HHL—LAX—NYC—LON—HLL—BJS 3 3 1 1 1 2 1 3 5、OJ:缺口程。BJS—CAN……HKG—SIN 6、OOJ:始发站缺口。SHA—TYO—BJS

山东建筑大学数据结构课程设计报告

山东建筑大学计算机科学与技术学院 课程设计说明书 题目:基于逆邻接表的有向图基本操作的实现课程:数据结构 院(部):计算机学院 专业:计科 班级:133 学生姓名:潘含笑 学号:20131111092 指导教师:李盛恩 完成日期:2015.07.03

目录 课程设计任务书.................................................. I 课程设计任务书................................................. II 逆邻接链表实现有向图.. (3) 一、问题描述 (3) 二、数据结构 (3) 三、逻辑设计 (3) 四、编码 (5) 五、测试数据 (14) 六、测试情况 (16) 逆邻接链表实现有向图 (17) 一、问题描述 (17) 二、数据结构 (17) 三、逻辑设计 (17) 四、编码 (18) 五、测试数据 (24) 七、测试情况 (24) 结论 (26) 课程设计指导教师评语 (28)

山东建筑大学计算机科学与技术学院 课程设计任务书 指导教师(签字):教研室主任(签字)

山东建筑大学计算机科学与技术学院 课程设计任务书 指导教师(签字):教研室主任(签字)

逆邻接链表实现有向图 二、数据结构 三、逻辑设计 1、总体思路 先实现Network类,通过队列实现BFS,通过堆栈实现DFS和拓扑排序。再构建Graph类,并继承Network类实现以逆邻接链表为存储结构的有向图。 2、模块划分(以图示的方法给出各个函数的调用关系)

3、函数或类的具体定义和功能Network类:

航空客运订票系统

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

航空客运服务的基本知识

航空客运服务的基本知识 一、行李规定 1、随身携带行李的限制规定 ⑴、乘坐国内航班:旅客的手提行李总重量不要超过5公斤,体积每件行李不超过20×40×55厘米(根据各航空要求不同可能有所不同)。安检现场有供旅客测试手提行李大小的行李筐,如果旅客的行李可以放入该标准筐,则该件行李可以随身

携带,否则需要托运。⑵、乘坐国际航班:通常情况,手提行李总重量不要超过7公斤,每件行李体积不超过20×40×55厘米(三边之和不超过115厘米)。乘坐美加航线的旅客只能随身携带一件手提行李。(部分航空有特殊重量限制规定,请旅客留意机票上的提示,或向航空咨询。) 2、托运行李的相关规定 ⑴乘坐国内航线:持成人或儿童客票的头等舱旅客为40公斤,公务舱旅客为30公斤,经济舱旅

客为20公斤。持婴儿票的旅客,无免费行李额。 ⑵乘坐国际航线:经济舱旅客的免费托运行李限额为20公斤,经济舱持学生护照的旅客,可以免费托运的行李限额为30公斤;公务舱免费托运行李限额为30公斤;头等舱免费托运行李限额为40公斤。但当目的地为美洲时,其托运行李可以为两件,每件不超过23公斤,单件行李三边长度和不超过158厘米。当超过时,旅客需要支付逾重行李费。(部分航空有特殊重量限制规定,请旅客留意机票上的提示,或向航空咨询) zbc6e 通用航空 https://www.360docs.net/doc/f79414764.html,

★不可作为托运行李运输物品有:重要文件和资料、证券、货币、汇票、珠宝、贵重金属及其制品、古玩字画、易碎易损坏物品、易腐物品、样品、旅行证件、贵重物品等。(具体请向航空问询) 二、安全检查 1、哪些物品是禁止随身携带也禁止托运的? 枪支弹药、管制刀具、警械、易燃易爆物品(如打火机气、酒精、油漆、烟花爆竹)、腐蚀性物品、

数据结构课程设计_航空订票系统方案

数据结构 课程设计报告设计题目:航空客运订票系统 院系计算机学院 年级 xxxxx 学生 xxx 学号 xxxxxxxxxxx 指导教师 xxxxxxxxxxx 起止时间 9-6/9-13 2013年9月10日星期二 目录

一、课程设计目的 3 二、需求分析 3 三、概要设计 1.设计步骤 4 2.系统整体结构图 5 3.功能模块及调用关系说明 5 四、详细设计和源代码 1.实现概要设计中定义数据的存储结构 6 2.查询航线信息功能的算法设计 7 3.订票功能的算法设计 9 4.退票功能的算法设计 12 5.录入功能的算法设计 14 6.总航线预览功能的程序源代码 15 五、调试分析 1.各功能的具体实例分析16 2.实验过程中出现的问题及解决方法 20 六、课程设计总结20 七、参考资料21一、课程设计目的

(1) 熟练使用 C 语言编写程序,解决实际问题; (2) 了解并掌握数据结构与算法的设计方法,具备初步的独立分析和设计能力; (3) 初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能; (4) 提高综合运用所学的理论知识和方法独立分析和解决问题的能力; 航空订票系统: (1)熟练掌握链表存储结构及其建立过程和常用操作; (2)熟练掌握队列的建立过程和常用操作; (3)学会自己调试程序的方法并掌握一定的技巧。 二、需求分析 问题描述:航空客运订票的业务活动包括:查询航线、客票预订和办理退票等。试设计一个航空客运订票系统,以使上述业务可以借助计算机来完成。 设计任务:通过此系统可以实现如下功能: 录入:可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定)查询:可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓);可以输入起飞抵达城市,查询飞机航班情况;根据旅客提出的终点站名输出下列信息:航班号、飞机号、星期几飞行,最近一天航班的日期和余票额; 订票:(订票情况可以存在一个数据文件中,结构自己设定)根据客户提出的要求(日期、航班号、订票数额)查询该航班票额情况,若尚有余额,则为客户办理订票手续,输出座位号;若已满员或余票额少于订票额,则需要重新询问客户要求。若需要,可预约登记排队等候。如果该航班已经无票,可以提供相关可选择航班; 退票:根据客户提供的情况(日期、航班、退票数额),为客户办理退票手续,然后查询该航班是否有人预约登记,首先询问排在第一的客户,若所退票额能满足他的要求,则为他办理订票手续,否则依次询问其他排队预约的客户……退票成功后修改相关数据文件。 客户资料有,证件号,订票数量及航班情况,订单要有编号。 修改航班信息:当航班信息改变可以修改航班数据文件 要求:根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能。 测试数据:由学生任意指定,但报告上要求写出多批数据测试结果。 实现提示:每条航线应包含的信息有:终点站名、航班号、飞机号、飞行日期(星期几)、乘员定额、余票额、已订票的客户(包括、订票额、座位号)和预约登记的客户(包括日期、、所需票额)。这最后两项显然是一个线性表和一个队列。为查找方便、已订票客户的线性表应按客户有序,并且,为插入和删除方便,应以链表作存储结构。由于预约人数无

数据结构课程设计报告模板

课程设计说明书 课程名称:数据结构与算法 专业:计算机科学与技术班级:103013 姓名:徐粤玲学号:03 指导教师:苑擎飏成绩: 完成日期:2012 年 1 月12 日

任务书 题目:黑白棋系统 设计内容及要求: 1.课程设计任务内容 通过玩家与电脑双方的交替下棋,在一个8行8列的方格中,进行棋子的相互交替翻转。反复循环下棋,最后让双方的棋子填满整个方格。再根据循环遍历方格程序,判断玩家与电脑双方的棋子数。进行大小判断,最红给出胜负的一方。并根据y/n选项,判断是否要进行下一局的游戏。 2.课程设计要求 实现黑白两色棋子的对峙 开发环境:vc++6.0 实现目标: (1)熟悉的运用c语言程序编写代码。 (2)能够理清整个程序的运行过程并绘画流程图 (3)了解如何定义局部变量和整体变量; (4)学会上机调试程序,发现问题,并解决 (5)学习使用C++程序来了解游戏原理。 (6)学习用文档书写程序说明

摘要 本文的研究工作在于利用计算机模拟人脑进行下黑白棋,计算机下棋是人工智能领域中的一个研究热点,多年以来,随着计算机技术和人工智能技术的不断发展,计算机下棋的水平得到了长足的进步 该程序的最终胜负是由棋盘上岗双方的棋子的个数来判断的,多的一方为胜,少的一方为负。所以该程序主要运用的战术有削弱对手行动战术、四角优先战术、在游戏开局和中局时,程序采用削弱对手行动力战术,即尽量减少对手能够落子的位置;在游戏终局时则采用最大贪吃战术,即尽可能多的吃掉对手的棋子;而四角优先战术则是贯穿游戏的始终,棋盘的四角围稳定角,不会被对手吃掉,所以这里是兵家的必争之地,在阻止对手进角的同时,自己却又要努力的进角。 关键词:黑白棋编程设计 s

相关文档
最新文档