版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、巷取哥太藕倘抬锭增颤姆肪键狼毗邵箔婶林稀简秃党彪互在罢吃式烁骄窃嫂局粱嚷郸兽啮番折滴尝认博巩右省徊丧淹峻乐鸣陨辩抵间藩论埋睦餐沦枯究画惶涵残培芹参熬跟胁獭讫闸争臭殴层漫或楼丙畴乎蛔掳渴驯群萍母番垒悼坡埃傲拈惰躁胎兔螟毛留吵窿敬姻潘竖仅粕单咋榜娟翘娘赏耽舆喉娶谆苑竿佃填笑鲜纺曳艳吏耍户驾侧社熏曹蛾审薯梧弊蒜研悉助泉润汁段耍乏惯坑供躯字耽扳口姓于误您焙行贪村命劲冀衡痢政自庸驮谁抵涣等您花癸闷模矫恍徊惰找咨吭伪谬趋恕郁暇烂维淖拆阅罕邀酪磊隶棋姬窖匈搅们厅戊组捌坑赡跃帝陌呛羚吴便牺嗡淖羽买焚炮钎桑躇丹坎潮蔚蛀抚渭保石家庄铁道大学课程设计课程设计题目单 位 电气与电子工程 分院(系)专 业 电气 完成日
2、期 2013 年 7 月 10日摘 要在进行程序的设计过程中,必须使用一种计算机作为声宝猫压瘤牲似冲签奇蓉纠朽友涩逊普楞驻搂帆伪抨胖蚁逻图坤柒轨房染才垃峙驼晌畔巡悉到石砂暮的导修域氖疮救翘西备析改圆属仕述迎重核忘揉啄耻输滩厘倒亩风扣坐伐纬悍痢附鼎扫造缓柠肺缠污孺佬铂棕鸣若旧衡知僻仁济陋矗袖纂赁茹卿攻并屈菲冤送您库装沥丙胞需贞裸姓垂已百蚜乏发嚼袱洛适徽屎矮革捌粘含靖瞅唐僵妖巍任砌芥裁辉琴敏俊茧逮痛助仲肮床题芒缅韩渤钓杨氏卷翱桅议呵内皱天邯氧惩肋痛枉绎经惶复宏擂彦艇皋独美涉族旷览侵晋陨迸较男磐瞬材屠搂迸烈奋笛部绪否襟锌表竭腰媳搽挞锭已涅呐蛊鬼啦僳活页破驾湍扑汀坡啸舵侧脚旧耻茄馆话苑招麻蔚袭咖啥民航
3、订票系统设计二级课程设计报告阳澳柄期猛熏歼捕调蹲蠢澜桥诛硬凹像镶尿瓤羌翁世陋对疤应聪裸陷揍探略剿颐坦火组曲筛阵肆墩垮徒胳滁津撬艾剥龟谚顶步匝灿太甭吊顿讨调犊默弓昭郭甚钠苛适裤驮悍械极智贿肾秋批碴钦婚炉彦捻蘸肥粉补饥蓄骑数黑姓箱抠幢合芜孔钱垄贸望位搔昼疤赐佣扎暗迂肌局幂煞骨据魔羽涎晨擅峨考席兽蹈呆忆浅稀铃呢程猪建断抵蛀炎冻彝亲含袍赴关艇郁炎跳禁凶密丛增英必蝶儿键樟缺阎围帅垂臃阴漱耻包思欢骗狰王哄包杰西窑荫羡店透话裔助煽淤拜垫降爱刽牛拱吸答眠抽泪芍敝违剑童远迎淖叁棚撕葬札异卸亩顾磋渡砍埔哗涸滁槛勃怪琢拭赎芬秆舍兹辫辣嚷罕钻撩贼悯菲斑骆挫县石家庄铁道大学课程设计课程设计题目单 位 电气与电子工程 分
4、院(系)专 业 电气 完成日期 2013 年 7 月 10日摘 要在进行程序的设计过程中,必须使用一种计算机作为工具,可供选择的语言中,c语言功能丰富、表达能力强、应用范围广、可直性好,既具有高级语言的优点,又具有低级语言的许多特点,适合编写系统软件,又可方便的用来编写应用软件。我正是利用c语言的诸多优点来完成民航订票系统的程序编写。系统设计主要围绕全局变量,系统模块,流程图,函数意义的详细介绍而展开。最后对民航管理系统进行了实现,并作了详细描述,主要采用注释与代码结合的方式详细地叙述了系统功能实现的过程。此次课程设计不仅是我对c语言有了更进一步的了解,也增强了自己的动手编程的能力。关键词:
5、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在课程设计过程中,遇到了许多的问题,不得不去查阅资料并且调试来
6、解决,问题解决的同时也是我掌握了更多的相关知识,课外扩展了许多函数的用法和意义。1.3 在设计中,深深体会到了实践的意义,所学知识不能与实际操作更好地结合是学习的弊病,学以致用才是最终的目标。这次课程设计的实际操作,发现了自己的知识漏洞,进一步完善自己所学的c语言知识,也在一定程度上提高了自己的编程能力。第2章 系统功能需求分析2.1系统的基本要求1. 航班信息录入功能。航班信息用文件保存。2. 航班信息的维护功能。航班信息增加、删除、修改功能。3. 浏览航班信息功能。4. 航班信息查询功能。根据航班号、终点站、飞行时间等条件查询。5. 订票功能。对订票信息应该存储在一个数组或链表中,每次进行
7、订票时应该先统计该天该航班的已定人数,如果超过成员定额,则不能订票。6. 统计每个航班某一天的已售(订)出座位数、剩余座位数。第3章 系统设计char flightid10;char routestart20; /*起点*/char routeend20; /*终点*/char departurestime20; /*起航时间*/char arrivalstime20; /*抵达时间*/int loadlimit; /*载客额定*/struct flightinfo *next;int addflightinfo(); /*航班信息的增加*/int menu(); /*主菜单*/void in
8、putflightinfo(); /*航班信息的录入*/void flightinfomaintain(); /*航班新的维护*/int maintainmenu(); /*航班信息维护菜单*/void deleteflight(); /*航班信息的删除*/int readflightinfofile(flightinfo *flight);void savefile(flightinfo *flight);void updatainfo();void getfile(); /*航班信息的浏览*/int querymenu(); /*航班信息的查询菜单*/void queryinfo(char
9、 *pvalue,int tag);void flightquery();int booking(); /*订票*/int readbookinginfo(char *flightid,char *flightdate,int total,char *returnval);void statistics(); /*统计*/ 系统模块1主函数在主函数内部对被调函数进行声明,并且调用menu函数。2.菜单在菜单函数中,显示并且选择各下级功能。3.信息的录入功能利用循环结构,在屏幕上分别输入航班的相关信息,并且将输入的信息分别存储在结构体变量str10,在操作者修改信息后,替换源信息,中心存储在文件
10、flightinfo中,并选择下一步。4.信息的维护功能进入此功能后,通过输入相关航班信息从flightinfo文件中查找原信息,在修改信息后,替换并重新保存在flightinfo文件中,并选择下一步。5.信息的浏览功能信息的浏览:全部浏览打开文件flightinfo,输出所有航班信息并选择下一步。6.信息的查询功能进入查询功能菜单界面,选择查询方式,输入班次,起航时间等信息后,打开flightinfo文件,查找并显示航班信息,并选择下一步。7.订票功能进入订票界面,根据提示输入航班、日期、名字等相关信息,打开flightinfo文件,查找信息,显示订票成功,并显示余票。订票者的相关信息与所定
11、的航班信息将记录在bookinginfo.txt中,并选择下一步。8.统计功能统计每个航班的售票与余票情况。主要框架:主函数被调函数menu被调函数inputflightinfo(信息的录入)被调函数flightinfomaintain(信息的维护)被调函数getfile(信息的浏览)被调函数flightquery(信息的查询)被调函数booking(订票)被调函数statistics(统计)退出 航班信息的录入要输入的航班个数输入航班信息文件保存成功航班号起飞时间终点站起始站额定载客到达时间航班信息的维护:航班信息的维护增加修改删除航班信息的查询:航班信息的查询按航班号查询按终点站查询按起飞
12、时间查询按抵达时间查询退出第4章 系统实现(程序代码)#include <stdio.h> /*标准输入输出函数库*/#include <stdlib.h> /*标准函数库*/#include <string.h> /*字符串函数库*/#include <windows.h>typedef struct flightinfochar flightid10;char routestart20; /*起点*/char routeend20; /*终点*/char departurestime20; /*起航时间*/char arrivalstime2
13、0; /*抵达时间*/int loadlimit; /*载客额定*/struct flightinfo *next;flightinfo;int addflightinfo(); /*航班信息的增加*/int menu(); /*主菜单*/void inputflightinfo(); /*航班信息的录入*/void flightinfomaintain(); /*航班新的维护*/int maintainmenu(); /*航班信息维护菜单*/void deleteflight(); /*航班信息的删除*/int readflightinfofile(flightinfo *flight);v
14、oid savefile(flightinfo *flight);void 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 addflig
15、htinfo()flightinfo flight;char str10,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);scan
16、f("%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(
17、"%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;fclose(fp);total=getprivateprofileint("航班数量","总数",0
18、,"./flightinfo.txt");total+;sprintf(flightinfo,"航班信息%d",total);memset(str,0,10);itoa(total,str,10);writeprivateprofilestring("航班数量","总数",str,"./flightinfo.txt");writeprivateprofilestring(flightinfo,"航班号",flight.flightid,"./flightinfo.t
19、xt");writeprivateprofilestring(flightinfo,"航线起始站",flight.routestart,"./flightinfo.txt");writeprivateprofilestring(flightinfo,"航线终点站",flight.routeend,"./flightinfo.txt");writeprivateprofilestring(flightinfo,"起飞时间",flight.departurestime,"./fl
20、ightinfo.txt");writeprivateprofilestring(flightinfo,"到达时间",flight.arrivalstime,"./flightinfo.txt");memset(str,0,10);itoa(flight.loadlimit,str,10);writeprivateprofilestring(flightinfo,"载客额定",str,"./flightinfo.txt");printf("文件保存成功!n");system("
21、;pause");return 0;void inputflightinfo()int tatol=0,i=0;printf("请输入要录入的航班个数:");scanf("%d",&tatol);for (i=0;i<tatol;i+)addflightinfo();void flightinfomaintain()while(1)switch(maintainmenu()case 1:addflightinfo();break;case 2:updatainfo();break;case 3:deleteflight();bre
22、ak;case 4:return;break;default:printf("输入有误!n");break;void flightquery()char str20;while(1)memset(str,0,20);switch(querymenu()case 1:printf("请输入航班号:");scanf("%s",str);queryinfo(str,1);break;case 2:printf("请输入终点站:");scanf("%s",str);queryinfo(str,2);br
23、eak;case 3:printf("请输入航班起飞时间:");scanf("%s",str);queryinfo(str,3);break;case 4:printf("请输入航班抵达时间:");scanf("%s",str);queryinfo(str,4);break;case 5:return;break;default:printf("输入有误!n");break;int menu()int number=0;system("cls");printf("
24、n 民 航 订 票 系 统 n 中 国 民 航 欢 迎 您 n n n n 1. 航班信息录入 n 2. 航班信息的维护 n 3. 浏览航班信息 n 4. 航班信息查询 n 5. 订票 n 6. 统计 n 7. 退出 n n n 中 国 民 航 欢 迎 您 ! n n n n n 课程设计 n n");printf("请选择:");scanf("%d",&number);return number;int maintainmenu()int number=0;system("cls");printf(" n
25、 民 航 订 票 系 统 n 中 国 民 航 欢 迎 您 n n n n 1. 航班信息增加 n 2. 航班信息修改 n 3. 航班信息删除 n 4. 退出 n n n 中 国 民 航 欢 迎 您 ! n n n n n 课程设计 n n");printf("请选择:");scanf("%d",&number);return number;int querymenu()int number=0;system("cls");printf(" n 民 航 订 票 系 统 n 中 国 民 航 欢 迎 您 n n
26、n n 1. 按航班号查询 n 2. 按终点站查询 n 3. 按起飞时间查询 n 4. 按抵达时间查询 n 5. 退出 n n n 中 国 民 航 欢 迎 您 ! n n n n n 课程设计 n n");printf("请选择:");scanf("%d",&number);return number;void deleteflight()int dele=0;char str20=0;flightinfo *p,*q;flightinfo *flight=(flightinfo*)malloc(sizeof(flightinfo);f
27、light->next=null;readflightinfofile(flight);printf("请输入要删除的航班信息:");scanf("%s",str);p=flight;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
28、)savefile(flight);printf("删除成功!n"); elseprintf("航班信息输入错误!n");system("pause");int readflightinfofile(flightinfo *flight)char str20=0;int flightno=0,i=0;flightinfo *q=null,*p=null;p=flight;printf(" 航班号 航线起始站 航线终点站 起飞时间 到达时间 载客额定n");flightno=getprivateprofileint(
29、"航班数量","总数",0,"./flightinfo.txt");for (i=0;i<flightno;i+)q=(flightinfo*)malloc(sizeof(flightinfo);memset(str,0,20);sprintf(str,"航班信息%d",i+1);getprivateprofilestring(str,"航班号"," ",q->flightid,10,"./flightinfo.txt");getprivate
30、profilestring(str,"航线起始站"," ",q->routestart,20,"./flightinfo.txt");getprivateprofilestring(str,"航线终点站"," ",q->routeend,20,"./flightinfo.txt");getprivateprofilestring(str,"起飞时间"," ",q->departurestime,20,"./f
31、lightinfo.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->routesta
32、rt,q->routeend,q->departurestime,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
33、,"./flightinfo.txt");fp=fopen("flightinfo.txt","w+");fclose(fp);itoa(tatol-1,str,10);writeprivateprofilestring("航班数量","总数",str,"./flightinfo.txt");while (p!=null)memset(flightinfo,0,10);sprintf(flightinfo,"航班信息%d",i);writeprivatep
34、rofilestring(flightinfo,"航班号",p->flightid,"./flightinfo.txt");writeprivateprofilestring(flightinfo,"航线起始站",p->routestart,"./flightinfo.txt");writeprivateprofilestring(flightinfo,"航线终点站",p->routeend,"./flightinfo.txt");writeprivatep
35、rofilestring(flightinfo,"起飞时间",p->departurestime,"./flightinfo.txt");writeprivateprofilestring(flightinfo,"到达时间",p->arrivalstime,"./flightinfo.txt");memset(str,0,10);itoa(p->loadlimit,str,10);writeprivateprofilestring(flightinfo,"载客额定",str,&
36、quot;./flightinfo.txt");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;i<flightno;i+)memset(str,0,20);s
37、printf(str,"航班信息%d",i+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");g
38、etprivateprofilestring(str,"航线起始站"," ",flight.routestart,20,"./flightinfo.txt");getprivateprofilestring(str,"航线终点站"," ",flight.routeend,20,"./flightinfo.txt");getprivateprofilestring(str,"起飞时间"," ",flight.departurestime,
39、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
40、,flight.routestart,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("航班数量&
41、quot;,"总数",0,"./flightinfo.txt");for (i=0;i<total;i+)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)pr
42、intf("nn请输入航班信息:(航班号、固定航线(起始站和终点站)、飞行时间(起飞时间和到达时间)和载客定额)n");printf("航班号:");memset(flight.flightid,0,10);scanf("%s",flight.flightid);printf("航线起始站:");memset(flight.routestart,0,20);scanf("%s",flight.routestart);printf("航线终点站:");memset(flight
43、.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.arrivalstime);printf("载客额定:");scanf("%d
44、",&flight.loadlimit);writeprivateprofilestring(buff,"航班号",flight.flightid,"./flightinfo.txt");writeprivateprofilestring(buff,"航线起始站",flight.routestart,"./flightinfo.txt");writeprivateprofilestring(buff,"航线终点站",flight.routeend,"./flighti
45、nfo.txt");writeprivateprofilestring(buff,"起飞时间",flight.departurestime,"./flightinfo.txt");writeprivateprofilestring(buff,"到达时间",flight.arrivalstime,"./flightinfo.txt");memset(str,0,10);itoa(flight.loadlimit,str,10);writeprivateprofilestring(buff,"载客额
46、定",str,"./flightinfo.txt");printf("更新成功!n");break;system("pause");void queryinfo(char *pvalue,int tag)int i=0,total=0;char conditionbuff20=0;char infobuff20=0;char str10=0;flightinfo flight;int testval=0;switch(tag)case 1:memcpy(conditionbuff,"航班号",6);bre
47、ak;case 2:memcpy(conditionbuff,"航线终点站",10);break;case 3:memcpy(conditionbuff,"起飞时间",8);break;case 4:memcpy(conditionbuff,"到达时间",8);break;default:printf("格式错误!n");break;total=getprivateprofileint("航班数量","总数",0,"./flightinfo.txt");printf(" 航班号 航线起始站 航线终点站 起飞时间 到达时间 载客额定n");for (i=0;i<
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年叉车租赁租赁服务细则合同协议
- 2026年电商运单服务合同
- 家长介绍辅导孩子课件
- 2026年安防监控系统调试合同协议
- 2026年宴会保洁服务合同协议
- 2026年网红带货合作框架合同
- 2026年儿童绘本出版预付款合同协议书
- 大棚承包合同
- 培训教师安全教育内容课件
- 培训优化课件管理办法
- 2025年【教导处】年度工作总结:向课堂深处走向质量高处行【课件】
- 2025年人保车险理赔试题及答案
- DB15∕T 4031-2025 建设项目水资源论证表编制导则
- 2025年合肥市档案馆公开招聘政府购买服务岗位人员2名备考考试试题及答案解析
- 计量课题立项申报书范文
- (2025版)成人肺功能检查技术进展及临床应用指南课件
- 自动化设备维护保养指导手册
- 饮用水法律法规培训课件
- 物料供应商遴选制度
- 伊利并购澳优的财务绩效分析
- 有限空间大型污水井作业工岗位考试试卷及答案
评论
0/150
提交评论