欢迎来到天天文库
浏览记录
ID:10670960
大小:230.50 KB
页数:45页
时间:2018-07-07
《c语言课程设计---飞机订票系统》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、C语言程序设计课程设计报告设计题目:飞机订票系统学院专业班级学号姓名451设计任务1.1设计题目的描述飞机订票系统设计假定民航机场共有10个航班,每个航班有一航班号、确定的航线(起始站、终点站)、确定的飞行时间(星期几)和机票数。试设计一民航订票系统,使之能提供下列功能:①.航班信息由管理员录入、修改、删除;②.旅客可以浏览、按航线查询、按航班号查询、按终点站查询;③.承办订票和退票业务;1.2设计要求(1)仔细审题,明确题目要求。(2)按照结构化的程序设计思想,将程序模块化,将相对独立的功能写成函数。(3)要求编程、调试通过并演示;程
2、序编写规范,添加适当注释。(4)按照课程设计报告的内容和格式要求,撰写课程设计报告,并且打印。2设计方案说明2.1数据的存储结构structplane//定义结构体{longnum;//航班号charstart[12];//起始站charend[12];//终点站chartime[10];//飞行时间intpiao;//机票数structplanenext;//指向自己结构体类型};452.2函数之间的调用关系说明mainloadinputdisplaydeletemodifyquerybookingrefundcreatesavequ
3、ery_endprintquery_numquery_startinsert2.3函数说明①函数creat():(1)structplanecreat();(2)建立一个动态链表;(3)head,p1,他们都是指向structplane数据类型的,head是指向链表的最前边,p1指向要插入的地方;(4)N-S-1:开辟一个新的节点,并使p1指向它读入一个航班的信息给p1指向的节点head=NULL假真p1->next!=045假真n等于1?输入航班信息head=p1p1->next=NULLN-S-1②函数insert(1)struct
4、planeinsert(structplanehead,structplaneplan);(2)插入数据;(3)参数:head,plan.head指向文件链表的第一个节点;plan指向要插入的节点关键变量:p0,p1.p1指向第一个节点;p0指向要插入的节点;(4)N-S-2:p1=head;p0=plan;假原来的链表是空的真假将p0所指的节点作为唯一的节点当p0->num>p1->num以及p1所指向的不是表尾节点p1指向p2的位置p1向后移一个节点真p0->num<=p1->num假Yp1指向头结点Np1->next=p0p0->
5、next=NULLhead=0p0->next=p1P2->next=p0P0->next=p1n=n+1N-S-2③函数save:(1)voidsave(structplanehead);(2)保存数据到plane_list文件中;45(3)参数:head指向头结点;主要参数:p为structplane数据类型,指向要写入的节点;(4)N-S-3:ending.num=0;p=head;真写文件plane_list假结束程序当p!=NULL真写入正确假继续写returnp=p->next;关闭文件N-S-3④函数print:(1)vo
6、idprint(structplanehead);(2)把信息显示出来;(3)参数:head,指向链表的头结点;主要变量:p,指向要输出的节点;(4)N-S-4:p=head;真head!=NULL假当p!=NULL输出数据p=p->next;结束N-S-4N-S-445⑤函数load:(1)structplaneload();(2)读入链表文件;(3)主要变量:head,p.;head指向的是链表的头结点,而p指向的是读入的节点,是变化的;他们都指向结构体数据类型structplane;(4)N-S-5:h=NULL真打开链表文件假p
7、=(structplane)malloc(LEN);开辟新节点returnh;假!p真head=p;returnh;真读文件假出错当p->num!=0p->next=(structplane)malloc(LEN);真!p->next假returnhead;q=p;p=p->next;真读文件假exit(0);q->next=NULL;关闭文件returnhead;N-S-545⑥函数del:(1)structplanedel(structplanehead,longnum)(2)删除数据;(3)参数:head,num;head链表头结
8、点;num要删除的航班号;主要变量:p1,p2;他们交替指向需要查询的节点;(4)N-S-6:真head==NULL假p1=head;num!=p1->num&&p1->next!=NULLp2=p1;p1
此文档下载收益归作者所有