




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、石家庄铁道大学课程设计课程设计题目单 位 电气与电子工程 分院(系)专 业 电气 完成日期 2013 年 7 月 10日摘 要在进行程序的设计过程中,必须使用一种计算机作为工具,可供选择的语言中,c语言功能丰富、表达能力强、应用范围广、可直性好,既具有高级语言的优点,又具有低级语言的许多特点,适合编写系统软件,又可方便的用来编写应用软件。我正是利用c语言的诸多优点来完成民航订票系统的程序编写。系统设计主要围绕全局变量,系统模块,流程图,函数意义的详细介绍而展开。最后对民航管理系统进行了实现,并作了详细描述,主要采用注释与代码结合的方式详细地叙述了系统功能实现的过程。此次课程设计不仅是我对c语言
2、有了更进一步的了解,也增强了自己的动手编程的能力。关键词: c语言、民航订票系统目录第1章 选题的意义 41.1 41.2 4第2章 系统功能需求分析 52.1系统的基本要求 52.2 5第3章 系统设计 6第4章 系统实现 7第5章 总结 8第1章 选题的意义1.1 民航,即民用航空,是指使用各类航空器从事除了军事性质(包括国防、警察和海关)以外的所有的航空活动称为民用航空。20世纪50年代以来,民用航空的服务范围不断扩大,成为一个国家的重要经济部门。此次民航订票系统课程设计,运用相关函数调用将基本的功能实现,在设计中的指针、结构体变量等知识的联系,是我进一步的掌握了这些功能的用法。1.2在
3、课程设计过程中,遇到了许多的问题,不得不去查阅资料并且调试来解决,问题解决的同时也是我掌握了更多的相关知识,课外扩展了许多函数的用法和意义。1.3 在设计中,深深体会到了实践的意义,所学知识不能与实际操作更好地结合是学习的弊病,学以致用才是最终的目标。这次课程设计的实际操作,发现了自己的知识漏洞,进一步完善自己所学的c语言知识,也在一定程度上提高了自己的编程能力。第2章 系统功能需求分析2.1系统的基本要求1. 航班信息录入功能。航班信息用文件保存。2. 航班信息的维护功能。航班信息增加、删除、修改功能。3. 浏览航班信息功能。4. 航班信息查询功能。根据航班号、终点站、飞行时间等条件查询。5
4、. 订票功能。对订票信息应该存储在一个数组或链表中,每次进行订票时应该先统计该天该航班的已定人数,如果超过成员定额,则不能订票。6. 统计每个航班某一天的已售(订)出座位数、剩余座位数。第3章 系统设计char flightid10;char routestart20; /*起点*/char routeend20; /*终点*/char departurestime20; /*起航时间*/char arrivalstime20; /*抵达时间*/int loadlimit; /*载客额定*/struct flightinfo *next;int addflightinfo(); /*航班信息的
5、增加*/int menu(); /*主菜单*/void inputflightinfo(); /*航班信息的录入*/void flightinfomaintain(); /*航班新的维护*/int maintainmenu(); /*航班信息维护菜单*/void deleteflight(); /*航班信息的删除*/int readflightinfofile(flightinfo *flight);void savefile(flightinfo *flight);void updatainfo();void getfile(); /*航班信息的浏览*/int querymenu(); /*
6、航班信息的查询菜单*/void queryinfo(char *pvalue,int tag);void flightquery();int booking(); /*订票*/int readbookinginfo(char *flightid,char *flightdate,int total,char *returnval);void statistics(); /*统计*/ 系统模块1主函数在主函数内部对被调函数进行声明,并且调用menu函数。2.菜单在菜单函数中,显示并且选择各下级功能。3.信息的录入功能利用循环结构,在屏幕上分别输入航班的相关信息,并且将输入的信息分别存储在结构体变
7、量str10,在操作者修改信息后,替换源信息,中心存储在文件flightinfo中,并选择下一步。4.信息的维护功能进入此功能后,通过输入相关航班信息从flightinfo文件中查找原信息,在修改信息后,替换并重新保存在flightinfo文件中,并选择下一步。5.信息的浏览功能信息的浏览:全部浏览打开文件flightinfo,输出所有航班信息并选择下一步。6.信息的查询功能进入查询功能菜单界面,选择查询方式,输入班次,起航时间等信息后,打开flightinfo文件,查找并显示航班信息,并选择下一步。7.订票功能进入订票界面,根据提示输入航班、日期、名字等相关信息,打开flightinfo文件
8、,查找信息,显示订票成功,并显示余票。订票者的相关信息与所定的航班信息将记录在bookinginfo.txt中,并选择下一步。8.统计功能统计每个航班的售票与余票情况。主要框架:主函数被调函数menu被调函数inputflightinfo(信息的录入)被调函数flightinfomaintain(信息的维护)被调函数getfile(信息的浏览)被调函数flightquery(信息的查询)被调函数booking(订票)被调函数statistics(统计)退出 航班信息的录入要输入的航班个数输入航班信息文件保存成功航班号起飞时间终点站起始站额定载客到达时间航班信息的维护:航班信息的维护增加修改删除
9、航班信息的查询:航班信息的查询按航班号查询按终点站查询按起飞时间查询按抵达时间查询退出第4章 系统实现(程序代码)#include /*标准输入输出函数库*/#include /*标准函数库*/#include /*字符串函数库*/#include typedef struct flightinfochar flightid10;char routestart20; /*起点*/char routeend20; /*终点*/char departurestime20; /*起航时间*/char arrivalstime20; /*抵达时间*/int loadlimit; /*载客额定*/str
10、uct flightinfo *next;flightinfo;int addflightinfo(); /*航班信息的增加*/int menu(); /*主菜单*/void inputflightinfo(); /*航班信息的录入*/void flightinfomaintain(); /*航班新的维护*/int maintainmenu(); /*航班信息维护菜单*/void deleteflight(); /*航班信息的删除*/int readflightinfofile(flightinfo *flight);void savefile(flightinfo *flight);void
11、 updatainfo();void getfile(); /*航班信息的浏览*/int querymenu(); /*航班信息的查询菜单*/void queryinfo(char *pvalue,int tag);void flightquery();int booking(); /*订票*/int readbookinginfo(char *flightid,char *flightdate,int total,char *returnval);void statistics(); /*统计*/int addflightinfo()flightinfo flight;char str10,
12、flightinfo10;int total=0;file *fp=null;printf(请输入航班信息:(航班号、固定航线(起始站和终点站)、飞行时间(起飞时间和到达时间)和载客定额)n);printf(航班号:);memset(flight.flightid,0,10);scanf(%s,flight.flightid);printf(航线起始站:);memset(flight.routestart,0,20);scanf(%s,flight.routestart);printf(航线终点站:);memset(flight.routeend,0,20);scanf(%s,flight.r
13、outeend);printf(起飞时间:);memset(flight.departurestime,0,20);scanf(%s,flight.departurestime);printf(到达时间:);memset(flight.arrivalstime,0,20);scanf(%s,flight.arrivalstime);printf(载客额定:);scanf(%d,&flight.loadlimit);flight.next=null;if(fp=fopen(flightinfo.txt,a+)=null)printf(open file fail!n);return 1;fclo
14、se(fp);total=getprivateprofileint(航班数量,总数,0,./flightinfo.txt);total+;sprintf(flightinfo,航班信息%d,total);memset(str,0,10);itoa(total,str,10);writeprivateprofilestring(航班数量,总数,str,./flightinfo.txt);writeprivateprofilestring(flightinfo,航班号,flight.flightid,./flightinfo.txt);writeprivateprofilestring(fligh
15、tinfo,航线起始站,flight.routestart,./flightinfo.txt);writeprivateprofilestring(flightinfo,航线终点站,flight.routeend,./flightinfo.txt);writeprivateprofilestring(flightinfo,起飞时间,flight.departurestime,./flightinfo.txt);writeprivateprofilestring(flightinfo,到达时间,flight.arrivalstime,./flightinfo.txt);memset(str,0,
16、10);itoa(flight.loadlimit,str,10);writeprivateprofilestring(flightinfo,载客额定,str,./flightinfo.txt);printf(文件保存成功!n);system(pause);return 0;void inputflightinfo()int tatol=0,i=0;printf(请输入要录入的航班个数:);scanf(%d,&tatol);for (i=0;inext=null;readflightinfofile(flight);printf(请输入要删除的航班信息:);scanf(%s,str);p=fl
17、ight;while(p-next!=null)if(memcmp(p-next-flightid,str,strlen(str)=0)dele=1;q=p-next;if (q-next!=null)p-next=q-next;free(q);p=p-next;p-next=null;if (dele=1)savefile(flight);printf(删除成功!n); elseprintf(航班信息输入错误!n);system(pause);int readflightinfofile(flightinfo *flight)char str20=0;int flightno=0,i=0;f
18、lightinfo *q=null,*p=null;p=flight;printf( 航班号 航线起始站 航线终点站 起飞时间 到达时间 载客额定n);flightno=getprivateprofileint(航班数量,总数,0,./flightinfo.txt);for (i=0;iflightid,10,./flightinfo.txt);getprivateprofilestring(str,航线起始站, ,q-routestart,20,./flightinfo.txt);getprivateprofilestring(str,航线终点站, ,q-routeend,20,./flig
19、htinfo.txt);getprivateprofilestring(str,起飞时间, ,q-departurestime,20,./flightinfo.txt);getprivateprofilestring(str,到达时间, ,q-arrivalstime,20,./flightinfo.txt);q-loadlimit=getprivateprofileint(str,载客额定,0,./flightinfo.txt);printf( %-10s%-15s%-17s%-13s%-14s%dn,q-flightid,q-routestart,q-routeend,q-departur
20、estime,q-arrivalstime,q-loadlimit);p-next=q;p=q;p-next=null;return i;void savefile(flightinfo *flight)int tatol=0,i=1;file *fp;char str10=0;char flightinfo10=0;flightinfo *p;p=flight-next;tatol=getprivateprofileint(航班数量,总数,0,./flightinfo.txt);fp=fopen(flightinfo.txt,w+);fclose(fp);itoa(tatol-1,str,1
21、0);writeprivateprofilestring(航班数量,总数,str,./flightinfo.txt);while (p!=null)memset(flightinfo,0,10);sprintf(flightinfo,航班信息%d,i);writeprivateprofilestring(flightinfo,航班号,p-flightid,./flightinfo.txt);writeprivateprofilestring(flightinfo,航线起始站,p-routestart,./flightinfo.txt);writeprivateprofilestring(fli
22、ghtinfo,航线终点站,p-routeend,./flightinfo.txt);writeprivateprofilestring(flightinfo,起飞时间,p-departurestime,./flightinfo.txt);writeprivateprofilestring(flightinfo,到达时间,p-arrivalstime,./flightinfo.txt);memset(str,0,10);itoa(p-loadlimit,str,10);writeprivateprofilestring(flightinfo,载客额定,str,./flightinfo.txt)
23、;i+;p=p-next;void getfile()char str20=0;flightinfo flight;int flightno=0,i=0;printf( 航班号 航线起始站 航线终点站 起飞时间 到达时间 载客额定n);flightno=getprivateprofileint(航班数量,总数,0,./flightinfo.txt);for (i=0;iflightno;i+)memset(str,0,20);sprintf(str,航班信息%d,i+1);memset(flight.flightid,0,10);memset(flight.routestart,0,20);m
24、emset(flight.routeend,0,20);memset(flight.departurestime,0,20);memset(flight.arrivalstime,0,20);getprivateprofilestring(str,航班号, ,flight.flightid,10,./flightinfo.txt);getprivateprofilestring(str,航线起始站, ,flight.routestart,20,./flightinfo.txt);getprivateprofilestring(str,航线终点站, ,flight.routeend,20,./f
25、lightinfo.txt);getprivateprofilestring(str,起飞时间, ,flight.departurestime,20,./flightinfo.txt);getprivateprofilestring(str,到达时间, ,flight.arrivalstime,20,./flightinfo.txt);flight.loadlimit=getprivateprofileint(str,载客额定,0,./flightinfo.txt);printf( %-10s%-15s%-17s%-13s%-14s%dn,flight.flightid,flight.rout
26、estart,flight.routeend,flight.departurestime,flight.arrivalstime,flight.loadlimit);void updatainfo()char str10=0;char buff20=0;char flightbuff10=0;int i=0,total=0;flightinfo flight;getfile();printf(请输入要修改航班的id:);scanf(%s,str);total=getprivateprofileint(航班数量,总数,0,./flightinfo.txt);for (i=0;itotal;i+)
27、memset(buff,0,20);memset(flightbuff,0,10);sprintf(buff,航班信息%d,i+1);getprivateprofilestring(buff,航班号, ,flightbuff,10,./flightinfo.txt);if (memcmp(flightbuff,str,strlen(str)=0)printf(nn请输入航班信息:(航班号、固定航线(起始站和终点站)、飞行时间(起飞时间和到达时间)和载客定额)n);printf(航班号:);memset(flight.flightid,0,10);scanf(%s,flight.flightid
28、);printf(航线起始站:);memset(flight.routestart,0,20);scanf(%s,flight.routestart);printf(航线终点站:);memset(flight.routeend,0,20);scanf(%s,flight.routeend);printf(起飞时间:);memset(flight.departurestime,0,20);scanf(%s,flight.departurestime);printf(到达时间:);memset(flight.arrivalstime,0,20);scanf(%s,flight.arrivalsti
29、me);printf(载客额定:);scanf(%d,&flight.loadlimit);writeprivateprofilestring(buff,航班号,flight.flightid,./flightinfo.txt);writeprivateprofilestring(buff,航线起始站,flight.routestart,./flightinfo.txt);writeprivateprofilestring(buff,航线终点站,flight.routeend,./flightinfo.txt);writeprivateprofilestring(buff,起飞时间,fligh
30、t.departurestime,./flightinfo.txt);writeprivateprofilestring(buff,到达时间,flight.arrivalstime,./flightinfo.txt);memset(str,0,10);itoa(flight.loadlimit,str,10);writeprivateprofilestring(buff,载客额定,str,./flightinfo.txt);printf(更新成功!n);break;system(pause);void queryinfo(char *pvalue,int tag)int i=0,total=0
31、;char conditionbuff20=0;char infobuff20=0;char str10=0;flightinfo flight;int testval=0;switch(tag)case 1:memcpy(conditionbuff,航班号,6);break;case 2:memcpy(conditionbuff,航线终点站,10);break;case 3:memcpy(conditionbuff,起飞时间,8);break;case 4:memcpy(conditionbuff,到达时间,8);break;default:printf(格式错误!n);break;tota
32、l=getprivateprofileint(航班数量,总数,0,./flightinfo.txt);printf( 航班号 航线起始站 航线终点站 起飞时间 到达时间 载客额定n);for (i=0;i0)continue;testval=1;memset(flight.flightid,0,10);memset(flight.routestart,0,20);memset(flight.routeend,0,20);memset(flight.departurestime,0,20);memset(flight.arrivalstime,0,20);getprivateprofilestring(str,航班号, ,flight.flightid,10,./flightinfo.txt);getprivateprofilestring(str,航线起始站, ,fli
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度BIM咨询与监理合同样本
- 二零二五年度城市环卫车辆驾驶员劳动合同范本
- 二零二五年度美团外卖配送员权益保障及绩效考核合同范本
- 二零二五年度物流信息技术支持服务合同
- 二零二五年度城市基础设施建设项目合作协议保密协议示范文本
- 2025版房地产销售与品牌合作推广协议
- 二零二五年度生态养殖牛场合作经营协议
- 2025版建筑工程施工合同投标文件编制要点
- 2025年度按摩行业品牌策划与推广承包合同
- 2025年新型材料吊顶工程承包合同
- GA 838-2009小型民用爆炸物品储存库安全规范
- 应聘人员申请表
- 医疗机构从业人员行为规范课件
- 胎儿生长受限护理查房课件
- 齐鲁医学口腔一般检查
- 基坑爆破开挖安全专项施工方案
- 中心静脉压监测操作评分标准
- 诉讼费退费确认表
- 城市综合管廊工程投资估算指标(175页)
- 铁路信号运营基础第一章铁路信号概述ppt课件
- 吹填工程施工组织设计
评论
0/150
提交评论