




已阅读5页,还剩22页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
xxxx大学xx学院C语言课程设计题目:长途客运售票系统 专业: 计算机科学与技术 班级: 姓名: 完成时间: 目录第一部分:源程序(3-12页)第二部分:函数流程图(13-25页)(1)menu函数流程图(第13页)(2)enter函数流程图(第14页)(3)Order函数流程图(第15页)(4)input函数流程图(第16页)(5)browse函数流程图(第17页)(6)Search_time函数流程图(第18页)(7)Search_end函数流程图(第19页)(8)search函数流程图(第20页)(9)void menu1函数流程图(第21页)(10)book函数流程图(第22页)(11)back函数流程图(第23页)(12)save函数流程图(第24页)(13)load 函数流程图(第25页) 第三部分:心得体会(第26-27页)第一部分:源程序#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(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(ticket.txt,rt)=NULL)printf(nCannotopen 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); int main() menu();第二部分:函数流程图结束(1)menu()函数NYYY退出n=8NYw1=1w1=0输入新航班浏览航班操作订票退票保存载入清屏(cls)int n,w1NYn=3n=7n=5n=6n=4n=2n=1输出n(1-8)NYYYWhile(w=1)YYYYYYYYYYYYYYNYNYNYNYNYNYYYif n8输出n输出目录开始(2)enterYin开始函数int i清屏(cls)请输入航班的数目n请输入数据mi=0N请输入第n次航班记录调用input()函数i+返回menu()结束开始 (3)Order函数int i,j清屏(cls)i=0NYin调用browse()YYj=i+1结束NYj0NYYYs=tii;tii=tij tij=sj+开始返回menu()结束请输入航班的票价请输入航班的最大载客人数请输入起飞时间请输入降落地点请输入起飞地点请输入航班代号(4)input函数 (5)browse函数 开始int i清屏(cls)i=0i+YNin调用printf_one(i)返回menu()输出结束int i,m开始 Y (6)Search_timeY函数 清屏(cls)输入时间i=0返回menu1()NinYNS=tiii+Y结束m+(m!=0)&(m%10=0)按任意键继续进行回车换行调用函数printf_one()int i,m开始 Y (7) Search_end函数 清屏(cls)输入要到达的地方i=0返回menu ()inYNS=tii i+结束 Ym+(m!=0)&(m%10=0)按任意键继续进行回车换行调用函数printf_one(i)开始 (8)search函数 int i,kk=-1in输入起飞,降落地点和时间清屏(cls)i=0Yk=-1Ni+YY输出“NO exist!”strcmp(s.BePlace,tii.BePlace)=0&strcmp(s.EnPlace,tii.EnPlace)=0&strcmp(s.data,tii.data)=0N返回search()=-1返回search()=k跳出(break)调用printf_one(k)k=i结束Y (9)void menu1函数 结束menu()serch_end()search_time()order()w1=0w1=1清屏(cls)int n,w1NYNYNYYYYYYYYYn=4n=3n=2n=1输出nNYYYwhile(w1=1)NYYY输出n(1-4)输出目录2if n4开始(10)book函数 开始返回menu()i=search()清屏(cls)int iNYNY结束tii.num=tii.maxi!=-1输出“欢迎进入售票窗口”tii.num+输出“该客运不存在!”输出“该趟客运票已售完”输出“订票成功”开始 (11)back函数 int i,k=-1输出“NOexist!”输出“退票成功!”清屏(cls)tii.num-结束menu()k=ii=0NYNYNYstrcmp(s.ID,tii.ID)=0输入“输入客运代号”输入“欢迎进入退票窗口”k=-1ini+调用printf_one(k)开始 (12)save函数 结束int w=1, FILE*fp,i输出“Cannot open file”清屏(cls)返回menu()(fp=fopen(ticket.txt,wt)=NULLYN输出“file write error”输出“file save ok!”NYYN调用fclose(fp)Yw=1Ni+w=0fwrite(&tii,sizeof(struct plane),1,fp)!=1plane),1,fp)!=1ini=0loadn+开始函数 (13)FILE*fp int i,w=1i+fread(&tii,sizeof( struct plane),1,fp)YN!feof(fp)清屏(cls)Nn=n-1fclose(fp)Yw=1输出“Load file ok!”输出“Cannotopen file”Ni=0n=0Y结束返回w=0(fp=fo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工作授权分工方案范本
- 潮州水泥排水管施工方案
- 安全教育培训试题车间卷及答案解析
- 石塑地板铺贴施工方案
- 一例多重耐药菌护理查房
- 企业采购分工方案范本
- 9.2证券从业资格考试及答案解析
- 公司会所接待年终汇报
- 安全培训实操试题及答案解析
- 施工方案最后要归档吗
- 0.4mm隔潮膜报告及首页20230605
- 维修成本优化研究
- 八大员-标准员考试模拟题(含答案)
- 2024-2030年中国企业研究院建设行业管理模式及未来发展规划预测报告
- 2024年度吉林省高校教师资格证之高等教育心理学考试题库
- 员工大会制度
- GB/T 44311-2024适老环境评估导则
- 教科版五年级科学上册全册同步课时练习【含答案全册】
- JTS-204-2008水运工程爆破技术规范-PDF解密
- NBT 10643-2021 风电场用静止无功发生器技术要求与试验方法-PDF解密
- 初中英语单词表(For-Junior)2182个 带音标
评论
0/150
提交评论