ImageVerifierCode 换一换
格式:DOCX , 页数:23 ,大小:139.19KB ,
资源ID:30172642      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/30172642.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(飞机订票系统模拟说明书.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

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

1、飞机订票系统模拟说明书*实践教学*兰州理工大学计算机与通信学院2010年春季学期 算法与数据结构课程设计题 目:飞机订票系统摸拟 专业班级:08级计算机(2)班姓 名: 黄建宏 学 号: 08240212 指导教师:王旭阳 成 绩: 目 录摘 要 1前 言 2基本算法的实现 3采用类c语言定义相关的数据类型 3各模块的伪码算法 4函数的调用关系图 6调试分析 7测试结果 8源程序(带注释) 11总 结 22参考文献 23致 谢 24附件 部分源程序代码 25摘 要该设计要求对飞机航班信息进行排序和查找。可按航班的班号、起点站、到达站、起飞时间以及到达时间等信息时行查询。对于本设计,主要是通过线

2、性表的逻辑结构、存储结构,线性表及队列上基本运算实现的。可以让我们学会如何把学到的知识用于解决实际问题。关键词: 航班信息;客户信息;链式存储结构;前 言飞机在现今的社会中已是越来越重要了,人们在旅游、工作、学习等生活中对飞机几乎是不可缺少了。而由乘坐飞机所引起的问题也深入到了计算机领域,飞机订票系统就是解决这种问题的一种途径。如人们常常在订票前要对问很多信息(飞机的起落时间,机票的价格,乘坐的人数以及是否有票等等)。这个系统主要是由线性表的链式存储结构以及队列的存储结构来存储航班信息与客户信息的。它的主要功能:1、是录入航班信息,其调用函数为insert_airline; 2、查询航线(航班

3、号,飞机号,日期,航班容量,余票数),其调用函数为:search_air;3、订票(根据客户提供的情况,办理订票手续),其调用函数为:book_air;4、承办退票业务(根据客户提供的情况,办理退票手续),其调用函数为:del_cus;5、删除已有航班信息 ,其调用函数为:del_airline . 设计这样的一个系统可以很快的查出人们所需要的信息,能省去很多的步骤,而且还非常的准确。基本算法的实现采用类c语言定义相关的数据类型定义航班信息:typedef struct airline char air_num8; char plane_num8; char end_place20; char

4、 time_plane16; int total; int left; struct airline *next; airline; 定义客户信息:typedef struct customer char name8; char air_num8; int seat_num; struct customer *next; customer; 各模块的伪码算法1 添加元素:Status listInsert_L(LinkList&L,int I,ElemTyple) p=L; j=0; While(p&jnext; j+;If(!p11ji-1)Return Error;s=(Linklist)

5、malloc(sizeof(LNode);s-data=e; s-next=p-next;return ok;2.删除元素: Status ListDelete_(LinkList&L,inti,ElemType&e) p=L; j=0; While (p-next&jnext; +j; If(!(p-next)|ji-1) Return Error; q=p-next; p-next=q-next; e=q-data; free(q); return ok; 3 查找元素: Status GetElem_L(LilkList L,int i,ElemType&e) p=L_next; j=1

6、; While(p&jnext; +j; If(!p|ji) Return error; E=p-data; Return ok;函数的调用关系图调试分析调试中遇到的问题及对问题的解决方法1、 输出的运行界面不整齐,例如“*”在编写程序的时候输入不整齐,运行出来的界面就不好看。2、 在使用解释符号时应该注意“/”,不适合于TC的环境,要用“/* */”。3、 函数的调用不正确。解决方法:当在一个函数中要调用另一个函数时,必须在调用函数的函数块中对被调用函数进行类型的声明测试结果定票:退票:查询航线“添加航线:删除已有航班信息:源程序(带注释)#include #include #include

7、 #define OK 1 #define ERROR 0 typedef struct airline /飞机编号结构体/ char air_num8; char plane_num8; char end_place20; int total; int left; struct airline *next; airline; typedef struct customer /乘客编号结构体/ char name8; char air_num8; int seat_num; struct customer *next; customer; airline *start_air() /1号函数/

8、 airline *a; a=(airline*)malloc(sizeof(airline); if(a!=NULL) a-next=NULL; return a; customer *start_cus()/2号函数/ customer *c; c=(customer*)malloc(sizeof(customer); if(c!=NULL) c-next=NULL; return c; airline *modefy_airline(airline *l,char *air_num) /3号函数/ airline *p; p=l-next; for(;p!=NULL;p=p-next)

9、if(strcmp(air_num,p-air_num)=0) p-left+; return l; printf(没有该航班!); return 0; int insert_air(airline *p,char *air_num,char *plane_num,char *end_place,int total,int left) /4号函数/ airline *q; q=(airline*)malloc(sizeof(airline); strcpy(q-air_num,air_num); strcpy(q-plane_num,plane_num); strcpy(q-end_place

10、,end_place); q-total=total; q-left=left; q-next=NULL; (*p)-next=q; (*p)=(*p)-next; printf(添加航线成功!); return OK; airline *add_air(airline *p,char *air_num,char *plane_num,char *end_place,int total,int left) airline *q,*pt; q=(airline*)malloc(sizeof(airline); strcpy(q-air_num,air_num); strcpy(q-plane_n

11、um,plane_num); strcpy(q-end_place,end_place); q-total=total; q-left=left; q-next=NULL; pt=p; while(p)!=NULL) p=p-next; p-next=q; /(p)=(p)-next; printf(添加航线成功!); return pt; int insert_cus(customer *p,char *name,char *air_num,int seat_num) /5号函数/ customer *q; q=(customer*)malloc(sizeof(customer); strc

12、py(q-name,name); strcpy(q-air_num,air_num); q-seat_num=seat_num; q-next=NULL; (*p)-next=q; (*p)=(*p)-next; return OK; printf(添加客户成功!); int book(airline *a,char *air_num,customer *c,char *name) /6号函数/ airline *p=a; customer *q=c-next; p=a-next; for(;q-next!=NULL;q=q-next) for(;p-next!=NULL;p=p-next)

13、if(strcmp(air_num,p-air_num)=0) if(p-left0) printf(你的座位号是:%d,(p-total-p-left+1); insert_cus(&q,name,air_num,p-total-p-left+1); p-left-; return OK; else if(p-left=0) printf(座位已满!); return 0; break; else printf(没有该航班!); return 1; int del_cus(customer *c,airline *l,char *name) /7号函数/ customer *p,*pr; c

14、har air_num8; pr=c; p=pr-next; while(p!=NULL) if(strcmp(p-name,name)=0) strcpy(air_num,p-air_num); l=modefy_airline(l,air_num); pr-next=p-next; p=pr-next; printf(完成!); return OK; pr=pr-next; p=pr-next; printf(没有该顾客!); return ERROR; int del_airline(airline *l,customer *m,char *air_n) /8号函数/ airline *

15、pt,*ptr; customer *p,*pr; ptr=l; pr=m; p=pr-next; pt=ptr-next; while(pt!=NULL) if(strcmp(pt-air_num,air_n)=0) ptr-next=pt-next; while(p!=NULL) if(strcmp(p-air_num,pt-air_num)=0) pr-next=p-next; printf(乘坐该航班的顾客%s已删除!,p-name); free(p); p=pr-next; pr=pr-next; p=pr-next; free(pt); pt=ptr-next; printf(删除

16、该航班成功!); return OK; ptr=ptr-next; pt=ptr-next; printf(没有该航班!); return ERROR; int search_air(airline *head) /9号函数/ airline *p=head-next; printf(air_num plane_num end_place total leftn); for(;p!=NULL;p=p-next) printf(%s %-10s %-8s% -8d% -8dn,p-air_num,p-plane_num,p-end_place,p-total,p-left); return OK

17、; int search_cus(customer *head) struct customer *q=head-next; printf(name air_num seat_numn); for(;q!=NULL;q=q-next) printf(%-8s%-12s%-dn,q-name,q-air_num,q-seat_num); return OK; int creat_air(airline *l) airline *p=*l; int i=0; char *air_num3=007af,008af,009af; char *plane_num3=plane1,plane2,plane

18、3; char *end_place3=Beijing,Shanghai,Tianjin; int total3=100,100,100; int left3=52,54,0; for(i=0;i3;i+) insert_air(&p,air_numi,plane_numi,end_placei,totali,lefti); return OK; int creat_cus(customer *l) customer *p=*l; int i=0; char *name3=zhsan,lisi,wangwu; char *air_num3=007af,008af,010ll; int seat

19、_num3=2,5,7; for(i=0;i3;i+) insert_cus(&p,namei,air_numi,seat_numi); return OK; void main() int t=1; customer *cus=start_cus(); airline *air=start_air(); char name8,air_num8,plane_num8,end_place20,ch; int left1,total1; creat_air(&air); creat_cus(&cus); printf(n); /clrscr(); printf(*n); printf(* Welc

20、ome to air firm! *n); printf(* 定票-1 *n); printf(* 退定-2 *n); printf(* 查询-3 *n); printf(* 新建航班 -4 *n); printf(* 删除已有航班-5 *n); printf(* 退出-6 *n); printf(*n); printf(n请选择1-6:); do ch=getchar(); switch (ch) case 1: printf(Please input a airline number:); scanf(%s,&air_num); printf(Please input a name:);

21、scanf(%s,&name); book(air,air_num,cus,name);break; case2: printf(Please input the cancel name:); scanf(%s,&name); del_cus(cus,air,name);break; case3: search_air(air); printf(n); search_cus(cus);break; case4: printf(请输入想插入的航班号的air_num:); scanf(%s,&air_num); printf(请输入飞机编号的plane_num:); scanf(%s,&plane

22、_num); printf(请输入飞 机目的地end_place:); scanf(%s,&end_place); printf(请输入飞机总座位数的total:); scanf(%d,&total1); printf(请输入飞机剩余座位数的left:); scanf(%d,&left1); add_air(air,air_num,plane_num,end_place,total1,left1); break; case5: printf(请输入想的删除航班号的air_num:); scanf(%s,&air_num); del_airline(air,cus,air_num);break;

23、 default: exit(0); if(ch=6) break; while(t=1); 总 结 在这三周的数据结构课程设计学习中,我通过我的课题:飞机订票系统摸拟,我加深了对线性表以及队列的逻辑存储结构和物理存储结构的认识,对课本中所学的各种数据结构进一步理解和掌握,学会了如何把学到的知识用于解决实际问题,锻炼了自己动手的能力。 我在程序运行中发现了很多的错误,这说明我在数据结构课程的学习中还存在很多的问题,这些问题我以前从未发现过,这次的课程设计不仅解决了这些问题,而且让我认识到了动手能力的重要性。如果不是自己做了这次设计,我也不可能以现这么多,我在老师和同学的帮助下竟意外的完成了课设

24、,我真是很高兴,在感谢老师和同学的同时,我也对自己有了很大的信心。三周的课程设计很短暂,但其间的内容是很充实的,在其中我学习到了很多平时书本中无法学到的东西,积累了经验,锻炼了自己分析问题,解决问题的能力,并学会了如何将所学的各课知识融会,组织,来配合学习,三周中我收益很大,学到很多。参考文献1. 张永, 数据结构(C语言版),清华大学出版社。3. DATA STRUCTURE WITH C+,William Ford,William Tcpp,清华大学出版社(影印版)。4.王连相,赵付清,C/C+语言程序设计,清华大学出版社。5 严蔚敏,吴伟民.数据结构(C语言版).清华大学出版社.6 严蔚

25、敏,吴伟民.数据结构题集(C语言版).清华大学出版社.7 DATA STRUCTURE WITH C+. William Ford,William Topp .清华大学出版社(影印版). 8 谭浩强.c语言程序设计. 清华大学出版社. 9数据结构与算法分析(Java版) , A Practical Introduction to Data Structures and Algorithm Analysis Java Edition Clifford A. Shaffer , 张铭,刘晓丹译电子工业出版社 2001 年1月致 谢 首先感谢我的指导老师王旭阳老师,她在我的课程设计过程中提出了指导性

26、的方案和架构,并指引我阅读相关的资料和书籍,使我在不熟悉的领域中仍能迅速掌握新的技术。感谢我的数据结构老师张永老师在以往的基础课学习中为我打下良好的基础,这是我这次课程设计能够顺利完成的前提。我的同学在设计完成后对程序的测试,没有他们,也许就难以发现一些潜在的错误,在此一并表示感谢。附件 部分源程序代码#includetypedef int KeyType;typedef struct KeyType key;ElemType;int SeqSearch(ElemType s,KeyType key,int n);main() int key; KeyType Key; ElemType s6=15,25,89,40,55,10; int n=6,i; printf(请输入要查找的关键字:); scanf(%d,&key); i=SeqSearch(s,key,n); if(i!=-1) printf(n查找成功!%d是第%d个元素,key,i); else

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

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