机场定票系统.docx
《机场定票系统.docx》由会员分享,可在线阅读,更多相关《机场定票系统.docx(22页珍藏版)》请在冰豆网上搜索。
![机场定票系统.docx](https://file1.bdocx.com/fileroot1/2022-11/19/92fa8b9f-b9ea-472d-a3a9-8d79841d45b8/92fa8b9f-b9ea-472d-a3a9-8d79841d45b81.gif)
机场定票系统
一、课程设计的内容
1、录入:
可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定)
2、查询:
可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓);
可以输入起飞抵达城市,查询飞机航班情况;
3、订票:
(订票情况可以存在一个数据文件中,结构自己设定)
可以订票,如果该航班已经无票,可以提供相关可选择航班;
4、退票:
可退票,退票后修改相关数据文件;
客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。
5、修改航班信息:
当航班信息改变可以修改航班数据文件。
二、课程设计的要求与数据
1、进一步掌握和利用C语言进行程设计的能力;
2、进一步理解和运用结构化程序设计的思想和方法;
3、初步掌握开发一个小型实用系统的基本方法;
4、学会调试一个较长程序的基本方法;
5、学会利用流程图或N-S图表示算法;
6、掌握书写程序设计开发文档的能力。
三、课程设计应完成的工作
1、编写完成相应题目的程序;
2、编写课程设计报告,课程设计报告的内容应包括以下6个部分:
1)需求分析:
包括设计题目、设计要求以及系统功能需求分析;
2)总体设计:
包括系统总体设计框架和系统功能模块图;
3)详细设计:
包括主要功能模块的算法设计思路以及对应的工作流程图;
4)调试分析过程描述:
包括测试数据、测试输出结果,以及对程序调试过程中存在问题的思考(列出主要问题的出错现象、出错原因、解决方法及效果等,适当的包含结果截图);
5)总结:
课程设计完成了哪些功能,有没有什么扩展功能?
还有哪些地方需要改进?
课程设计过程中的学习体会与收获、对本次课程设计的认识以及自己的建议等内容;
6)附录:
主要源程序代码,含必要的注释。
3、答辩:
在实验室建立程序运行的环境,并在指导教师的监督下,独立解
决问题、运行程序和回答教师提出的问题。
四、课程设计进程安排
序号
设计各阶段内容
地点
起止日期
1
下达任务书,说明设计要求;收集资料
实验3#517
6.18
2
总体方案设计、详细设计
实验3#517
6.19
3
编写程序,调试分析
实验3#517
6.20
4
撰写报告并上交,答辩
实验3#517
6.21
五、应收集的资料及主要参考文献
[1]谭浩强.C程序设计(第三版)[M],北京:
清华大学出版社,2005.9
[2]谭浩强.C程序设计题解与上机指导(第三版)[M],北京:
清华大学出版社,2005.7
[1]丁爱萍郝小会孙宏莉,C语言程序设计实例教程(第二版),西安电子科技大学出版社,2002.3
[2]黄明梁旭万洪莉,C语言课程设计,电子工业出版社,2006.6
发出任务书日期:
2007年6月18日指导教师签名:
计划完成日期:
2007年6月22日基层教学单位责任人签章:
主管院长签章:
目录
1设计目的与要求………………………………………………………………页码
2总体设计………………………………………………………………………页码
3详细设计………………………………………………………………………页码
3.1功能模块设计………………………………………………………………页码
3.1.1XX功能模块(可选)…………………………………………………页码
3.1.1YY功能模块(可选)…………………………………………………页码
3.1.1ZZ功能模块(可选)…………………………………………………页码
3.2数据结构设计………………………………………………………………页码
4调试分析……………………………………………………………………页码
5总结……………………………………………………………………………页码
6附录……………………………………………………………………………页码
6答辩记录(正文处请留出适当空白)………………………………………页码
7指导教师意见(正文处请留出十行空白)…………………………………页码
1目的与要求
1、进一步掌握和利用C语言进行程设计的能力;
2、进一步理解和运用结构化程序设计的思想和方法;
3、初步掌握开发一个小型实用系统的基本方法;
4、学会调试一个较长程序的基本方法;
5、学会利用流程图或N-S图表示算法;
6、掌握书写程序设计开发文档的能力。
2总体设计
功能:
通过此系统可以实现如下功能:
录入:
可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定)
查询:
可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓);
可以输入起飞抵达城市,查询飞机航班情况;
订票:
(订票情况可以存在一个数据文件中,结构自己设定)
可以订票,如果该航班已经无票,可以提供相关可选择航班;
退票:
可退票,退票后修改相关数据文件;
客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。
修改航班信息:
当航班信息改变可以修改航班数据文件
3详细设计
3.1功能模块设计
.1录入功能模块
voidmain()
{intt=1;
customer*cus=start_cus();
airline*air=start_air();
charname[8],air_num[8],ch;
creat_air(&air);
creat_cus(&cus);
while(t==1)
{printf("\n");
printf("*********************************\n");
printf("*Welcometoairfirm!
*\n");
printf("*book--------1*\n");
printf("*cancel------2*\n");
printf("*search------3*\n");
printf("*exit--------4*\n");
printf("*********************************\n");
ch=getch();
.2查询功能模块
intsearch_air(airline*head)
{airline*p=head->next;
printf("air_numplane_numend_placetotalleft\n");
for(;p!
=NULL;p=p->next)
{printf("%s%-10s%-8s%-8d%-8d\n",p->air_num,p->plane_num,p->end_place,p->total,p->left);
}
returnOK;
}
intsearch_cus(customer*head)
{structcustomer*q=head->next;
printf("nameair_numseat_num\n");
for(;q!
=NULL;q=q->next)
{
printf("%-8s%-12s%-d\n",q->name,q->air_num,q->seat_num);
}
returnOK;
}
intcreat_air(airline**l)
{airline*p=*l;
inti=0;
char*air_num[3]={"007af","008af","009af"};
char*plane_num[3]={"plane1","plane2","plane3"};
char*end_place[3]={"Beijing","Shanghai","Tianjin"};
inttotal[3]={100,100,100};
intleft[3]={52,54,76};
for(i=0;i<3;i++)
insert_air(&p,air_num[i],plane_num[i],end_place[i],total[i],left[i]);
returnOK;
}
intcreat_cus(customer**l)
{customer*p=*l;
inti=0;
char*name[3]={"zhsan","lisi","wangwu"};
char*air_num[3]={"007af","008af","009af"};
intseat_num[3]={2,5,7};
for(i=0;i<3;i++)
insert_cus(&p,name[i],air_num[i],seat_num[i]);
returnOK;
.3订票功能模块
编一段程序以实现订票功能,如果该航班已经无票,还可以提供相关可选择航班信息,所需的程序代码:
intbook(airline*a,char*air_num,customer*c,char*name)
{
airline*p=a;
customer*q=c->next;
p=a->next;
for(;q->next!
=NULL;q=q->next){}
for(;p->next!
=NULL;p=p->next)
{
if(p->left>0)
{
printf("Yourseatnumberis%d",(p->total-p->left+1));
insert_cus(&q,name,air_num,p->total-p->left+1);
p->left--;
returnOK;
}
else
{
printf("seatisfull");
return0;
}
}
4.退票功能设计
intdel_cus(customer*c,airline*l,char*name)
{
customer*p,*pr;
charair_num[8];
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("finish!
");
returnOK;
}
pr=pr->next;
p=pr->next;
}
printf("NOthecustomer!
");
returnERROR;
}
4调试分析
经过几次的修改错误,终于可以运行,根据屏幕提示不难操作。
应用的主要是教材中的一些基本的知识,当然其中也有一些未学过的。
经参考一些材料并咨询有关人士得以解决。
最后运行无误。
5总结
我这次在C语言程序设计课程中,做的是“飞机订票系统”。
通过近一周的上机操作,充分应用了所学的C语言的知识,粗略设计出并成功的运行起该系统。
这说明我这次的课程设计是成功,但更为重要的我又进一步了解了C语言,加深了对C语言的认识,充分的将课本知识进行梳理、整合、融会贯通之后应用到了实际的工作需要中。
以实现学以致用,学有所用。
同时也增加了我对C语言的兴趣,激起了学习的热情。
当然,由于学艺不精,在课程设计的过程也碰到的一些问题。
其中,不乏一些简单的基础性的错误,