



版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C 语言程序设计 - 航班管理系统仲恺农业工程学院仲恺农业工程学院C 语言程序设计报告航班信息管理系统课程名称 C 语言程序设计姓 名 XXX院 , 系, 信息科学与技术学院 专业班级 网络工程 XX 学 号 201320XX指导教师 XXX仲恺农业工程学院教务处制仲恺农业工程学院目录1 需求分析 .1 2系统总框图和功能模块说明 .12.1系统总框图 .12.2功能模块说明 .2 3系统设计 .33.1主要结构体 .33.2 主要功能函数 .33.3关键函数的流程图 .4 4系统调试 .5 5总结 .7 6源程序清单 .711 需求分析航班信息包括航班号、起点站、终点站、班期、起飞时间、到达
2、时间、飞机型号、票价,八项信息。试设计航班信息管理系统,使之能提供以下功能:, 系统以菜单方式工作, 航班信息录入功能 ( 航班信息用文件保存 ), 输入, 航班信息浏览功能 , 输出, 航班信息查询功能 , 算法 ( 其中查询方式可以按学历查询、按职工号查询等) ,航班信息排序、筛选功能2 系统总框图和功能模块说明2.1系统总框图图 1 系职工信息管理系统输筛排查保入选序询存航航航航航班班班班班信信信信信息息息息息按按按按航航航航班班班班到起到起点达点达站站时时筛筛间间选选筛筛选 选1统总框图2.2功能模块说明输入航班信息模块,完成航班信息的录入。航班信息的录入前,录入系统先完成新建文件,检
3、测文件是否存在的功能。检测完毕,采用循环的输入流程,以检测文件是否终止为循环的判定条件 ; 输入信息时,以检测编号判断输入的信息与文件中的信息是否有冲突,防止输入的信息存在冲突 ; 把航班信息一一输入后,判断其有没有存入文件中。排序航班信息模块,完成航班信息中的价格排序,便于筛选信息结果的查看,排序是利用冒泡排序法,按照价格从高到低编排。查询航班信息模块,根据输入的航班编号,查询航班编号的信息,。其过程中,首先是对输入的信息判断,判断输入的信息无误后再查询。筛选航班信息模块,筛选模板分为四种不同条件的筛选,分别是起点站、到达站、起点时间、到达时间。利用字符串函数 strcmp 比较输入的筛选条
4、件与文件中字符串是否一致为判断 ,利用循环结构把筛选条件与有效字符串一一作比较。23 系统设计3.1主要结构体航班编号、起飞点、到达点、班期、起飞时间、达到时间、型号、价格struct flyint no; /*航班号 */char startpointM; /*起飞点 */char finalpointM; /*到达点 */int banqi; /*班期 */char startimeM; /*起飞时机*/char finaltimeM; /*到达时间 */char tipeM; /*型号 */float price; /*;价格 */3.2 主要功能函数void in(); /*航班信息输
5、入系统*/ void order(); /*航班价格排序系统*/void search(); /*航班信息查询系统*/ void menu(); /*信息展现函数*/ voidstartpoint(); /*起点站筛选系统*/ void finalpoint(); /*达到站筛选系统*/void startime(); /*起点时间筛选系统*/ void finaltime(); /*到达时间筛选系统 */33.3关键函数的流程图Main 函数调用 menu函数输入一个数字 (0-6)判断数字数字 0,退出数数数数数数字字字字字字123456,输查按按按按入询起到起到航航点达点达班班站站时时信
6、信筛筛间间息 息 选选筛筛航航 选选班班航航信信班班息息信信息 息44 系统调试1、航班信息的输入2、输入航班号,对航班信息进行查找53、输入到达站,对航班信息进行筛选65 总结在程序的编写中,导致程序出现逻辑错误,我个人经验不足,所以一旦出现错误就添加一些语句,比如添加 printf("测试语句 |n");在程序中,断定其程序中哪一些地方出现错误,发现其中的错误,修改后再删除掉。由于忘记了函数的调用方法,导致程序show 无法调用,查看网上类似的程序,终于发现错误。6 源程序清单 #include<stdio.h> #include<string.h&g
7、t; #include<stdlib.h> #include<conio.h> #define N 15#define M 20#define LEN sizeof(struct fly) typedef struct flyint no;/*航班号 */char startpointM;char finalpointM;int banqiM;char startimeM;char finaltimeM;char tipeM;float price;struct fly fN; void in();void show(int i); void order(int); /
8、*排序 */void search(); /*编号查询系统 */ void menu();void startpoint(); /*起点站查询系统*/ void finalpoint(); /*达到站查询系统 */ void startime(); /*起点时间查询系统*/ void finaltime(); /*到达时间查询系统*/ void main()int n;menu();scanf("%d",&n);while(n)switch(n)case 1:7in();break;case 2:search();break;case 3:startpoint();
9、break;case 4:finalpoint();break;case 5:startime();break;case 6:finaltime();break;default:break;getch();menu();scanf("%d",&n);void menu()system("cls");printf("nnnnn");printf("tt|-航班信息查询系统-|n");printf("tt| 0.退出|n");printf("tt| 1.录入记录|n");
10、printf("tt| 2.航班号查询|n");printf("tt| 3.起点站查询|n");printf("tt| 4.到达站查询|n");printf("tt| 5.起飞时间查询|n");printf("tt| 6.到达时间查询 |n");printf("tt|-|nn ");printf("ttt选择 (0-6):_");void in()int i,m=0;char ch2;FILE *fp;if(fp=fopen("data"
11、;,"ab+")=NULL)8printf("不能打开文件 n");return;while(!feof(fp)/feof()是文件结束检测函数 , 如果没有结束 , 返回值是 0, 结束了是 1if(fread(&fm,LEN,1,fp)=1)m+;fclose(fp);if(m=0)printf("没有找到 n");elsesystem("cls");/*system 就是调用 DOS命令 ,CLS 命令的意思是清除屏幕上所有的文字*/for(i=0;i<m;i+)show(i);if(fp=fo
12、pen("data","wb")=NULL)printf("不能打开文件 n ");return;for(i=0;i<m;i+)fwrite(&fi,LEN,1,fp);printf("是否输入 , 输入请按 Y否则按任意键 -");scanf("%s",ch);while(strcmp(ch,"Y")=0|strcmp(ch,"y")=0)printf("编号 -");scanf("%d",&
13、fm.no);for(i=0;i<m;i+)if(fi.no=fm.no)printf("该记录应经存在,请按任意键继续n");getch();fclose(fp);return;printf("起点站 -");scanf("%s",&fm.startpoint);printf("终点站 -");scanf("%s",&fm.finalpoint);printf("班期 -");9scanf("%s",&fm.banqi);p
14、rintf("起飞时间 -");scanf("%s",&fm.startime);printf("到达时间 -");scanf("%s",&fm.finaltime);printf("飞机型号 -");scanf("%s",&fm.tipe);printf("价格 -");scanf("%f",&fm.price);printf("是否保存 , 输入请按 Y否则按任意键 -");sca
15、nf("%s",ch);if(strcmp(ch,"Y")=0|strcmp(ch,"y")=0)if(fwrite(&fm,LEN,1,fp)!=1)printf("不能保存 n");getch();elseprintf("编号为 %d的航班信息已经保存 n",fi.no);m+;printf("是否继续,继续请按 -Y- ,否则按任意键 ");scanf("%s",ch);fclose(fp);printf("OK");vo
16、id search() /*编号查询系统 */FILE *fp;int snum,i,m=0;char ch2;if(fp=fopen("data","ab+")=NULL)printf("不能打开文件 n");return;while(!feof(fp)if(fread(&fm,LEN,1,fp)=1);m+;10fclose(fp);if(m=0)printf("没有记录 ");return;printf("请输入编号 -");scanf("%d",&sn
17、um);for(i=0;i<m;i+)if(snum=fi.no)printf("已经找到该记录,是否显示, 显示请按 Y ");scanf("%s",ch);if(strcmp(ch,"Y")=0|strcmp(ch,"y")=0)show(i);break;elseprintf("没有相关的记录 n");return;void startpoint() /*起点站查询系统 */ FILE *fp;int i,m=0;char snumM;if(fp=fopen("data&q
18、uot;,"ab+")=NULL)printf("不能打开文件 n");return;while(!feof(fp)if(fread(&fm,LEN,1,fp)=1);m+;fclose(fp);if(m=0)printf("没有记录 ");return;printf("请输入起点站 -");scanf("%s",&snum);for(i=0;i<m;i+)11if(strcmp(fi.startpoint,snum)=0)show(i);continue;elseprin
19、tf("没有相关的记录 n");return;void finalpoint() /*到达站查询系统 */ FILE *fp;int i,m=0;char snumM;if(fp=fopen("data","ab+")=NULL)printf("不能打开文件 n");return;while(!feof(fp)if(fread(&fm,LEN,1,fp)=1);m+;fclose(fp);if(m=0)printf("没有记录 ");return;printf("请输入到达站
20、-");scanf("%s",&snum);for(i=0;i<m;i+)if(strcmp(fi.finalpoint,snum)=0)show(i);continue;elseprintf("没有相关的记录 n");return;void startime() /*起点时间查询系统 */ 12FILE *fp;int i,m=0;char snumM;if(fp=fopen("data","ab+")=NULL)printf("不能打开文件 n");return;wh
21、ile(!feof(fp)if(fread(&fm,LEN,1,fp)=1);m+;fclose(fp);if(m=0)printf("没有记录 ");return;printf("请输入起点时间 -");scanf("%s",&snum);for(i=0;i<m;i+)if(strcmp(fi.startime,snum)=0)show(i);continue;elseprintf("没有相关的记录 n");return;void finaltime() /*达到时间查询系统 */ FILE *fp;int i,m=0;char snumM;if(fp=fopen("data","ab+")=NULL)printf("不能打开文件 n");return;while(!feof(fp)if(fread(&fm,LEN,1,fp)=1);m+;fclose(fp);if(m=0)13printf(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 卖场承包经营合同
- 企业公司房屋租赁合同
- 公厕给排水施工方案
- bef增光膜施工方案
- 实验室咨询服务合同
- TACCEM 135-2024 双组份聚氨酯导热结构胶
- 与石油管道交叉施工方案
- 建筑工程机械租赁合同范文
- 昌河中学高一数学试卷
- 水泥楼梯改造施工方案
- 2025年孝感货运从业资格考试
- 防灾避险安全应急知识培训课件
- 2023年新高考全国Ⅱ卷语文真题(解析版)
- 2025年政府采购评审专家理论考试复习试指导题库(含答案)
- 2025届西北四省(山西、陕西、青海、宁夏)高三下学期第一次联考英语试题
- 2025年湖南铁道职业技术学院单招职业技能测试题库1套
- 高中主题班会 复盘-在思考中学习课件-高中上学期主题班会
- 江苏省中小学生金钥匙科技竞赛(高中组)考试题及答案
- 2024版质量管理培训
- A型肉毒素治疗知情同意书 注射知情同意书
- 中国建筑史PPT(东南大学)完整全套教学课件
评论
0/150
提交评论