




已阅读5页,还剩52页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
石家庄铁道大学课程设计课程设计题目单 位 电气与电子工程 分院(系)专 业 电气 完成日期 2013 年 7 月 10日摘 要在进行程序的设计过程中,必须使用一种计算机作为工具,可供选择的语言中,C语言功能丰富、表达能力强、应用范围广、可直性好,既具有高级语言的优点,又具有低级语言的许多特点,适合编写系统软件,又可方便的用来编写应用软件。我正是利用C语言的诸多优点来完成民航订票系统的程序编写。系统设计主要围绕全局变量,系统模块,流程图,函数意义的详细介绍而展开。最后对民航管理系统进行了实现,并作了详细描述,主要采用注释与代码结合的方式详细地叙述了系统功能实现的过程。此次课程设计不仅是我对C语言有了更进一步的了解,也增强了自己的动手编程的能力。关键词: 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在课程设计过程中,遇到了许多的问题,不得不去查阅资料并且调试来解决,问题解决的同时也是我掌握了更多的相关知识,课外扩展了许多函数的用法和意义。1.3 在设计中,深深体会到了实践的意义,所学知识不能与实际操作更好地结合是学习的弊病,学以致用才是最终的目标。这次课程设计的实际操作,发现了自己的知识漏洞,进一步完善自己所学的C语言知识,也在一定程度上提高了自己的编程能力。第2章 系统功能需求分析2.1系统的基本要求1. 航班信息录入功能。航班信息用文件保存。2. 航班信息的维护功能。航班信息增加、删除、修改功能。3. 浏览航班信息功能。4. 航班信息查询功能。根据航班号、终点站、飞行时间等条件查询。5. 订票功能。对订票信息应该存储在一个数组或链表中,每次进行订票时应该先统计该天该航班的已定人数,如果超过成员定额,则不能订票。6. 统计每个航班某一天的已售(订)出座位数、剩余座位数。第3章 系统设计char FlightID10;char RouteStart20; /*起点*/char RouteEnd20; /*终点*/char DeparturesTime20; /*起航时间*/char ArrivalsTime20; /*抵达时间*/int Loadlimit; /*载客额定*/struct FlightInfo *next;int addFlightInfo(); /*航班信息的增加*/int menu(); /*主菜单*/void InputFlightInfo(); /*航班信息的录入*/void FlightInfoMaintain(); /*航班新的维护*/int MaintainMenu(); /*航班信息维护菜单*/void DeleteFlight(); /*航班信息的删除*/int ReadFlightInfoFile(FlightInfo *flight);void 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(); /*统计*/ 系统模块1主函数在主函数内部对被调函数进行声明,并且调用menu函数。2.菜单在菜单函数中,显示并且选择各下级功能。3.信息的录入功能利用循环结构,在屏幕上分别输入航班的相关信息,并且将输入的信息分别存储在结构体变量str10,在操作者修改信息后,替换源信息,中心存储在文件flightInfo中,并选择下一步。4.信息的维护功能进入此功能后,通过输入相关航班信息从flightInfo文件中查找原信息,在修改信息后,替换并重新保存在flightInfo文件中,并选择下一步。5.信息的浏览功能信息的浏览:全部浏览打开文件flightInfo,输出所有航班信息并选择下一步。6.信息的查询功能进入查询功能菜单界面,选择查询方式,输入班次,起航时间等信息后,打开flightInfo文件,查找并显示航班信息,并选择下一步。7.订票功能进入订票界面,根据提示输入航班、日期、名字等相关信息,打开flightInfo文件,查找信息,显示订票成功,并显示余票。订票者的相关信息与所定的航班信息将记录在bookingInfo.txt中,并选择下一步。8.统计功能统计每个航班的售票与余票情况。主要框架:主函数被调函数menu被调函数InputFlightInfo(信息的录入)被调函数FlightInfoMaintain(信息的维护)被调函数GetFile(信息的浏览)被调函数FlightQuery(信息的查询)被调函数Booking(订票)被调函数Statistics(统计)退出 航班信息的录入要输入的航班个数输入航班信息文件保存成功航班号起飞时间终点站起始站额定载客到达时间航班信息的维护:航班信息的维护增加修改删除航班信息的查询:航班信息的查询按航班号查询按终点站查询按起飞时间查询按抵达时间查询退出第4章 系统实现(程序代码)#include /*标准输入输出函数库*/#include /*标准函数库*/#include /*字符串函数库*/#include typedef struct FlightInfochar FlightID10;char RouteStart20; /*起点*/char RouteEnd20; /*终点*/char DeparturesTime20; /*起航时间*/char ArrivalsTime20; /*抵达时间*/int Loadlimit; /*载客额定*/struct FlightInfo *next;FlightInfo;int addFlightInfo(); /*航班信息的增加*/int menu(); /*主菜单*/void InputFlightInfo(); /*航班信息的录入*/void FlightInfoMaintain(); /*航班新的维护*/int MaintainMenu(); /*航班信息维护菜单*/void DeleteFlight(); /*航班信息的删除*/int ReadFlightInfoFile(FlightInfo *flight);void 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 addFlightInfo()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);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.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,./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(flightInfo,航线起始站,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,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=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)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(航班数量,总数,0,./flightInfo.txt);for (i=0;iFlightID,10,./flightInfo.txt);GetPrivateProfileString(str,航线起始站, ,q-RouteStart,20,./flightInfo.txt);GetPrivateProfileString(str,航线终点站, ,q-RouteEnd,20,./flightInfo.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-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,./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);WritePrivateProfileString(flightInfo,航班号,p-FlightID,./flightInfo.txt);WritePrivateProfileString(flightInfo,航线起始站,p-RouteStart,./flightInfo.txt);WritePrivateProfileString(flightInfo,航线终点站,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);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);memset(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,./flightInfo.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.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(航班数量,总数,0,./flightInfo.txt);for (i=0;itotal;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)printf(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.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,&flight.Loadlimit);WritePrivateProfileString(buff,航班号,flight.FlightID,./flightInfo.txt);WritePrivateProfileString(buff,航线起始站,flight.RouteStart,./flightInfo.txt);WritePrivateProfileString(buff,航线终点站,flight.RouteEnd,./flightInfo.txt);WritePrivateProfileString(buff,起飞时间,flight.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;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;total=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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新gre阅读解析题目译文及答案
- 销售合同审核流程表风险控制要点版
- 写景作文冬日滇池400字(13篇)
- 我家的端午节作文350字15篇范文
- 重游故地高三作文600字14篇
- 业务谈判策略模板与场景应对方案
- 红楼梦之黛玉之死:文学名著深度解读教案
- 状物作文美丽的桂花400字(7篇)
- 第3课 太平天国运动 课件 统编版历史八年级上册
- 商务活动策划与执行服务协议条款书
- 动物的行为发育与行为遗传
- 铁路桥涵设备检查-铁路桥梁桥面检查
- 风光储储能项目PCS舱、电池舱吊装方案
- 2023施工项目部标准化工作手册
- 七年级生物《哺乳动物》教案
- 【数学】四川省普通高中2024届高三上学期学业水平考试试题(解析版)
- 原发性骨质疏松症诊疗指南(2022版)第一部分
- 重庆医科大学附属第一医院改建PET-CT、PET-MR项目环评报告
- 2022水电站计算机监控系统上位机现场验收标准手册
- 下肢静脉曲张护理查房PPT
- 七年级北师大版数学下册期末测试卷
评论
0/150
提交评论