C语言课程设计-飞机航班售票系统.docx_第1页
C语言课程设计-飞机航班售票系统.docx_第2页
C语言课程设计-飞机航班售票系统.docx_第3页
C语言课程设计-飞机航班售票系统.docx_第4页
C语言课程设计-飞机航班售票系统.docx_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机程序设计(c语言)课程设计报告题目:飞机航班售票系统学院: 专业: 班级:姓名: 指导教师:一、问题描述在信息时代的今天,由计算机科学的推进使得机器自动化、一体化已经成为普遍。因此,计算机网络的可靠性便成为一项关键的技术指标。售票管理系统的水平,是航空公司发展水平的一个重要指标。售票管理工作繁琐,包含了大量的信息数据,因此就需要一个完善的信息管理系统来实现对这些数据的有效管理,满足人民大众的需求。灵活应用所学知识编制一套全新飞机售票管理系统,在熟练掌握知识的同时更要体现知识的实用性,也就是做到学以致用。使得该系统既能便民,又能为该公司带来一定的经济效益。本系统实现了对航班的输入、浏览、操作、订票、退票等多方面功能,应用了c语言的大部分知识。主要有涉及到c+的简单输入输出和控制、运算符和表达式、选择控制(if)、循环控制(dowhile)、字符数组(char)、以及函数的定义、函数的套用、文件的读写等多方面知识点。二、总体设计2.1功能模块划分2.2数据结构结构体定义如下:typedef struct plane /航班结构定义 char id10; /*航班代号*/ char beplace10; /*飞机起飞地点*/ char enplace10; /*飞机降落终点*/ char data15; /*飞机起飞时间*/ int max; /*飞机最大乘客人数*/ int price; /*飞机票价*/ int num; /*飞机已售票数*/plane; /结构体新类型名2.3:全局变量int n; /*当前的航班数目*/2.4:模块列表void main() /主函数void menu() /主菜单界面void input(int i) /存入航班数据void printf_one(int i) /显示一个记录的函数void browse() /浏览数据void order() /对浏览的信息排序void menu1() /查找航班分菜单 int search() /查找飞机票void search_time() /按时间查找void serch_end() /按地点查找void book() /预定飞机票void back() /退票void save() /保存数据void load() /载入数据2.5:程序结构图启动程序main()打开主菜单menu()保存void save ()载入void load()退票void back() 订票void book()航班操作void menu1()浏览航班信息void browse () 录入航班信息void input (int i)按地点查找void serch_end()按时间查找void sear ch_ time()按时间排序void order() 三、程序流程图3.1主控函数mian ():接口:void main(void)参数:返回值:功能描述:将整个程序的命令控制菜单放入一个dowhile循环中,通过开关语句switch判断用户输入的命令,选择调用相应的模块。流程图定义变量 n,w1开始cls 清屏输出主目录输入nnn8yw1=1n=1enter()w1=0输出“your choise is not between 1 and 8,please input enter to choice again”ynbrowse()yn=2nmenu1()n=3ynnyw1=1n=4ybook()switch(n)nn=5yback()nn=6ysave()nn=7yload()结束n 3.2、浏览模块接口:void browse()功能描述:printf_one(i);i+i=0inti;浏览航班信息显示在显示屏上包括航班代号,起飞降落地点,票价等。i=tii.max其余模块与次相似,不再赘述。四、程序清单#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; printf(the ordered data is:n);puts(n-);printf(nt航班代号 起飞地点 降落地点 起飞时间票价 最大乘客 已售票数n);for(i=0;in;i+)printf_one(i);printf(n);getchar();getchar();menu1();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,wb)=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,rb)=null) /*以输出打开方式,在此前的记录被覆盖*/printf(ncannot open filen);w=0;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);

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论