




免费预览已结束,剩余20页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
d80d142fecc239c2e5a63a63c6a9821c.pdf 25目录第一部分源程序-3第二部分函数流程图-11menu()-12enter()-13input()-14browse()-15menu1()-16order()-17search_time()-18search_end()-19search()-20book()-21back()-22save()-23load()-24第三部分心得体会-25第一部分:源程序#include #include #include #define N 1000typedef struct plane char ID10; /*航班代号*/ char BePlace10;/*飞机起飞地点*/ char EnPlace10;/*飞机降落终点*/ char data15;/*飞机起飞时间*/ int max;/*飞机最大乘客人数*/ int price;/*飞机票价*/ int num;/*飞机已售票数*/PLANE;PLANE tiN;int n;/*当前的航班数目*/void menu();void menu1();void input(int i)printf(请输入航班代号:n);scanf(%s,tii.ID);printf(请输入起飞地点:n);scanf(%s,tii.BePlace);printf(请输入降落地点:n);scanf(%s,tii.EnPlace);printf(请输入起飞时间:n);scanf(%s,tii.data);printf(请输入航班的最大载客人数:n);scanf(%d,&tii.max);printf(请输入航班的票价:n);scanf(%d,&tii.price);tii.num=0;void enter()int i; system( cls ); printf(请输入航班的数目(0-%d)?:,N);scanf(%d,&n); /*要输入的记录个数*/printf(n请输入数据nn);for(i=0;in;i+) printf(n请输入第 %d 航班记录.n,i+1); input(i); /*调用输入函数*/ getchar(); menu();void printf_one(int i) /*显示一个记录的函数*/printf(%11s %6s %10s %6s %6d %6d %6d,tii.ID,tii.BePlace,tii.EnPlace,tii.data,tii.price,tii.max,tii.num);void browse()int i;system( cls ); puts(n-);printf(nt航班代号 起飞地点 降落地点 起飞时间 票价 最大乘客 已售票数n);for(i=0;in;i+)printf_one(i);printf(n);getchar();getchar();menu();void order() /*排序模块(按平均成绩)*/int i,j;struct plane s;system( cls ); for(i=0;in;i+) /*冒泡法排序*/for(j=i+1;j0)s=tii; tii=tij;tij=s; browse();void search_time()int i,m=0;struct plane s;system( cls ); printf(nnEnter the time:);scanf(%s,s.data); /*输入出发的时间*/puts(n-);printf(nt航班代号 起飞地点 降落地点 起飞时间 票价 最大乘客 已售票数n);for(i=0;in;i+)if(strcmp(s.data,tii.data)=0)m+; if(m!=0)&(m%10=0) /*目的是分屏显示*/ printf(nnPress any key to contiune . . .);getchar();puts(nn); printf_one(i); printf(n);/*调用显示一个记录的函数*/puts(n-);getchar(); /*按任意健*/getchar(); menu1();void serch_end()int i,m=0;struct plane s;system( cls ); printf(nnEnter the end Place:);scanf(%s,s.EnPlace); /*输入要到达的地方*/puts(n-);printf(nt航班代号 起飞地点 降落地点 起飞时间 票价 最大乘客 已售票数n);for(i=0;in;i+)if(strcmp(tii.EnPlace,s.EnPlace)=0)m+; if(m!=0)&(m%10=0) /*目的是分屏显示*/ printf(nnPress any key to contiune . . .);getchar();puts(nn); printf_one(i); printf(n);/*调用显示一个记录的函数*/puts(n-);getchar(); /*按任意健*/getchar(); menu1();void menu1()int n,w1; do system( cls ); /*清屏*/ puts(tttt 飞机售票操作!nn); puts(tt*MENU*nn); puts(tttt1.按照时间排序); puts(tttt2.按照时间查找航班); puts(tttt3.按照地点查找航班); puts(tttt4.返回主菜单); puts(nntt*n); printf(Choice your number(1-4): bb); scanf(%d,&n); if(n4) /*对选择的数字作判断*/ w1=1; printf(your choice is not between 1 and 4,Please input again:); getchar(); getchar(); else w1=0; while(w1=1); /*选择功能*/ switch(n) case 1:order();break; case 2:search_time();break; case 3:serch_end();break; case 4:menu();break; int search() /*查找模块*/int i,k;struct plane s;k=-1;system( cls ); printf(nn请输入要订票的起飞地点:);scanf(%s,s.BePlace); /*输入要到达的地方*/printf(nn请输入要订票的降落地点:);scanf(%s,s.EnPlace); printf(nn请输入要订票的起飞时间:);scanf(%s,s.data); /*输入出发的时间*/for(i=0;i=tii.max)printf(n该趟航班票已售完!); elsetii.num+;printf(n订票成功!n);elseprintf(该航班不存在!n);getchar(); getchar(); /*按任意健*/menu();void back()int i,k=-1;struct plane s;system( cls ); printf(欢迎进入退票窗口!n);printf(nn输入航班代号:);scanf(%s,s.ID); /*输入要到达的地方*/ for(i=0;in;i+) /*查找要修改的数据*/if(strcmp(s.ID,tii.ID)=0)k=i; /*找到要修改的记录*/printf_one(k);break; /*调用显示一个记录的函数*/if(k=-1) printf(nnNO exist!);else tii.num-; printf(n退票成功!n);getchar(); /*按任意健*/getchar(); /*按任意健*/menu();void save()int w=1;FILE *fp;int i;system( cls ); if(fp=fopen(D:我的文档桌面ticket.txt,wt)=NULL) /*以输出打开方式,在此前的记录被覆盖*/printf(nCannot open filen);return ; for(i=0;in;i+)if(fwrite(&tii,sizeof(struct plane),1,fp)!=1) printf(file write errorn);w=0;if(w=1) printf(file save ok!n);fclose(fp);getchar();getchar(); menu();void load()FILE *fp;int i,w;w=1;system( cls ); if(fp=fopen(D:我的文档桌面ticket.txt,rt)=NULL)printf(nCan not open filen);w=0;return;n=0;for(i=0;!feof(fp);i+)fread(&tii,sizeof(struct plane),1,fp);n+;n=n-1;fclose(fp);if(w=1)printf(Load file ok!);getchar();getchar(); menu();void menu() int n,w1; do system( cls ); /*清屏*/ /*清屏*/ puts(tttt 飞机售票管理系统!nn); puts(tt*MENU*nn); puts(tttt1.输入新航班); puts(tttt2.浏览 ); puts(tttt3.航班操作); puts(tttt4.订票); puts(tttt5.退票); puts(tttt6.保存); puts(tttt7.载入); puts(tttt8.退出); puts(nntt*n); printf(Choice your number(1-8): bb); scanf(%d,&n); if(n8) /*对选择的数字作判断*/ w1=1; printf(your choice is not between 1 and 8,Please input enter to choice again:); getchar(); getchar(); else w1=0; while(w1=1); /*选择功能*/ switch(n) case 1:enter();break; /*输入模块*/ case 2:browse();break; /*浏览模块*/ case 3:menu1();break; /*查找模块*/ case 4:book();break; /*订票模块*/ case 5:back();break; /*退票模块*/ case 6:save();break; /*保存模块*/ case 7:load();break; /*加载模块*/ case 8:exit(0); void main() menu();第二部分:函数流程图(1)menu函数流程图YYYYYYYNNNNNNn=1NNYYN结束enterbrowsemenu1bookbacksaveloadn=8n=7n=6n=5n=4n=3n=2n8输入系数到变量n输出所有主目录清屏定义n,w1开始w1=0w1=1w1=1(2)enter函数流程图YN调用inputin开始Int i清屏输入记录个数i=0输出:请输入第%d航班记录i+返回主目录menu()结束(3)input函数流程图tii.num=0tii.num=0输入price输入max输入max输入date定义i开始输出:请输入航班代号输入ID输出:请输入起飞地点输入BePlace输出:请输入降落地点输入EnPlace输出:请输入起飞时间输出:请输入航班最大载客人数输出:请输入航班票价返回函数enter结束(4)browse函数流程图N开始换行调用printf_one()Yini=0输出菜单清屏定义i输入横线回车i+返回主目录menu()结束(5)menu1函数流程图YYYYNNNN结束menu()search_end()order()search_time()n=4n=3n=2n=1YNNw1=1w1=0Yw1=1n4键入数字n输出:Choice your number(1-4):输入菜单清屏定义n,w1开始(6)order函数流程图调用browse结束i+NYj+tii=stii=tijs=tiiYtii.datatij.dataNjnNi=0j=i+1Yin清屏定义结构s定义i,j开始(7)search_time函数流程图i=0输出对应航班信息输入出发时间定义i,m=0清屏定义结构体s开始inNYs.data=tii.dataNYm+(m!=0)&(m%10=0)Y分屏显示N调用printf_one(i)i+返回主菜单menu1结束(8)serch_end函数流程图清屏定义结构体s定义i,m=0开始ini=0输出对应航班信息输入目的地分屏显示调用printf_one(i)(m!=0)&(m%10=0)m+NYNYY tii.EndPlace=s.EndPlaceN结束返回主菜单menu1i+开始定义i,j,k定义结构体sk=1输入起飞地输入目的地i=1Ni=tii.maxNY输出:该趟航班不存在tii.num+输出:该趟航班票已售完输出:订票成功返回主目录menu()返回主目录结束开始定义i,k=-1(11)back函数流程图定义结构体s输出:欢迎进入退票窗口输入航班代号IDi=0Nini+YNs.ID=tii.IDYk=i调用printf_one(k)k=-1NY输出:NO exist!tii.num-输出:退票成功返回主目录menu()结束(12)save函数流程图开始定义w=1,*fp,i清屏N(fp=fopen(“ticket.txt”,”wt”)=NULLY输出:Can not open filei=0NinYNfwrite(&tii,sizeof(struct plane),1,fp)!=1Y输出:file write errorw=0i+Nw=1Y输出:file save ok!fclose(fp)返回主目录menu()结束(13)load函数流程图开始定义*fp,i,w=1清屏N(fp=fopen(“ticket.txt”,”rt”)=NULLY输出:Can not open filew=0n=0i=0!feof(fp)NYfread(&tii,sizeof(struct plane),1,fp)n+i+n=n-1fclose(fp)Nw=1Y输出:Load file ok!1结束返回主目录menu()第三部分:心得体会(1) 开始对c语言只是一种零散的认识,作为一个c语言的初学者对编程没有明确的概念,只是对语句的格式与编程规
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年初升高暑期数学讲义专题07 集合的运算重难点突破(含答案)
- 2025年江西省高速公路投资集团有限责任公司招聘笔试备考题库附答案详解(轻巧夺冠)
- 2023国家能源投资集团有限责任公司第一批社会招聘笔试备考试题及一套答案详解
- 2025福建晋园发展集团有限责任公司权属子公司招聘7人笔试备考题库含答案详解(培优)
- 2025年黑龙江省五常市辅警招聘考试试题题库有答案详解
- 2024年湖南有色金属职业技术学院单招职业适应性测试题库参考答案
- 2025年河北省定州市辅警招聘考试试题题库附答案详解(能力提升)
- 2024年海南健康管理职业技术学院单招职业倾向性测试题库(500题)含答案解析
- 2025年K2学校STEM课程实施效果评估与教育评价体系创新实践研究分析报告
- 热点13+中拉论坛-【探究课堂】备战2025年中考地理三轮热点专题复习课件
- 2025年环境监测技术考试试卷及答案
- 2025-2030中国液体肥料行业市场发展分析及发展趋势与投资研究报告
- 2025年上半年高级软件水平考试系统架构设计师(案例分析)真题及解析
- 保洁协议书合同范本
- 2025餐饮服务员劳动合同模板
- 贵州国企招聘2024贵州贵安发展集团有限公司招聘68人笔试参考题库附带答案详解
- GB/T 45576-2025网络安全技术网络安全保险应用指南
- 2025年特种设备安全操作人员安全操作规范试题库
- 2024-2025成都各区初二年级下册期末数学试卷
- 【MOOC】工业设计面面观-郑州大学 中国大学慕课MOOC答案
- 【生物】鱼课件+2024-2025学年人教版生物七年级上册
评论
0/150
提交评论