付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、课程设计课程:数据结构专业班级:XX软件工程XX班姓名:XX学号:XXX姓名:XXX学号:XXX设计时间XXX指导老师:XXX课程设计题:飞机订票系统1 .掌握结构体数组的表示和存储。2.掌握链表的存储和操作。3 .掌握文件的操作。二、设计内容和要求1.任务:通过此系统可以实现如下功能:录入:可以录入航班情况(数据可以存储在一个数据文件中,数据 结构、具体数据自定)查询:订票:可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓);可以输入起飞抵达城市,查询飞机航班情况;订票情况可以存在一个数据文件中,结构自己设定。可以订票,如果该航班已经无
2、票,可以提供相关可选择航班;可退票,退票后修改相关数据文件;客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。修改航班信息:当航班信息改变可以修改航班数据文件。要求:根据以上功能说明,设计航班信息,订票信息的存储结构, 设计程序完成功能管理操作系统,主要考虑的是信息的录入,这里利用文件的读写完成该 功能;输出,查询以及删除,利用结构数组存储航班与客户信息,依次 对订票,退票,查询及相关操作编写成子程序,然后再主程序中调用, 这样程序看起来相当简练,而且易读懂;算法设计分析:(次系统运行环境为 VC6.0)1.txtbejingsha nghai 11 12 01 18 06 100 2
3、sha nghaiwuhang2 2 122 2 140 2 110 1wuhangchibi 33 13 03 14 01 50 2(此文件是程序执行航班信息录入时自动生成,在信息读取时需要调 用) 首先是航班于客户信息的存储,结构数组的利用很好的解决该问题;其次是文件的操作,在主函数中利用文件的读与写;下面介绍订票退票 以及查询操作的实现。1订票:首先输入出发地与目的地,查找是否有相应的航班信息,在航 2班票数足够的情况下,录入客户信息,提示操作成功;否则失败。3退票:输入退票客户的姓名与身份号码,查找到该客户信息后进行退票操作,完成后对应航班票数加1 ;若没有该客户信息,提示查无此 人。
4、查询:输入客户姓名与身份号码,若查到有该客户信息,显示该客户的 航班情况;否则提示差无此人。/飞机定票管理系统#in cludevstdio.h#i ncludevwi ndows.h#defi ne N 10 struct flightchar start10;/ 出发地char en d10;/目的地int s_mon th;/出发时间月份,天,小时,分钟int s_day;int s_hour;int s_mi nute;int d_mon th;/到达时间月份,天,小时,分钟int d_day;int d_hour;int d_minute;int coast_t;/历时多久int c
5、oast_m;/ 票价int num;/ 剩余票数/int bia nhao;/机票编号airN;/结构体数组存储航班信息/客户信息struct conint number;/定票者的证件号码char n ame10;/ 定票者的名字char start10;/ 出发地char en d10;/目的地int s_mon th;/出发时间月份,天,小时,分钟int s_day;int s_hour;int s_mi nute;int d_mon th;/到达时间月份,天,小时,分钟int d_day;int d_hour;int d_minute;int coast_t;/历时多久int coa
6、st_m;/ 票价/int bia nhao;/ 机票编号peop le100;/定票,输出发地与目的地,时间,反馈剩余票,票价 book(i nt t)int i,m on th,day, p,q,k=0;/k为判断输入的信息是否有误char start10,e nd10;printf("定票:n");/输入查询的航班信息,以便搜索 while(k=0)printf("请输入出发地,目的地,出发日期:n");/*gets(start);gets(e nd);/*这里输入时应注意用回车键,否则默认字符串存入start*scan f("%d,%d
7、",&mo nth, &day);/*/sea nf("%s,%s,%d,%d",staite nd,&mo nth, &day);/getchar();p ri ntf("%s,%s,%d,%d",start,e nd,mo nth,day);/扫描信息,搜索与所查询的航班匹配信息for(i=0;ivN;i+)P=strcm p( start,airi.start);q=strc mp(en d,airi.e nd);if(p=0&&q=0&&mon th=airi.s_ mon
8、th&&day=airi.s_day)k=1;/信息输入无误,即找到匹配信息 printf("由%s到%s时间为%d月%d号的航班票价为 %d,余票为 %dn",airi.start,airi.e nd,airi.s_mo nth,airi.s_day,airi.coast_m,airi. nu m);/更新信息,将客户信息存储if(airi.num=0)printf("票已售完,如有不便请谅解!nnnn");elseairi. num=airi. nu m-1;printf("请输入您的证件号码与姓名:n");sca
9、 nf("%d,%s",&peopl et. nu mber ,peopl et. name);getcharO;strc py(peopl et.start,airi.start);strc py(peopl et.e nd,airi.e nd);peopi et.s_ mon th=airi.s_ month;peopi et.s_day=airi.s_day;peop let.s_hour=airi.s_hour;peop let.s_mi nu te=airi.s_mi nute;peopi et.d_ mon th=airi.d_ month;peopi
10、et.d_day=airi.d_day;peopi et.d_hour=airi.d_hour;peop let.d_mi nu te=airi.d_mi nute;peopi et.coast_t=airi.coast_t;/peopi et.coast_m=airi.coast_m;peopi et.bia nhao=airi.bia nhao;printf(”恭喜您定票成功!nnnn");t+;/system(" pause");if(k=O)printf("信息输入有误n");printf("是否继续定票?0为继续1为退出n&
11、quot;);scan f("%d",&k);getcharO;return t;/退票,并将客户信息栏中该客户信息清楚,所乘航班票数加1 re_ti(i nt t)int i,j,n u_mber,k=0;/k为判断是否查找到客户信息char n a_me10;printf("退票:n");printf("请输入证件号码与客户姓名:n");scan f("%d,%s", &nu_ mber, na_me);getchar();for(i=0;iv100;i+) if(nu _mber=peopi
12、ei. nu mber&&strcm p(n a_me ,peopl ei. name)=0)k=1;/找到该客户信息/退票后,与该客户对应航班票数增1 for(j=0;j<N;j+)if(strc mp(peopl ei.start,airj.start)=0&&strc mp(peopl ei.e nd,airj.e nd)=0&&peopl ei.s_ mon th=airj.s_ month&&peopl ei.s_day=airj.s_day)airj. num=airj. nu m+1;/将客户信息依次向前移动f
13、or(j=i;jv100;j+)/ prin tf("成功删除该客户信息!n");peopi ej. nu mber=peopl ej+1. nu mber;strc py(peopl ej. name ,peopl ej+1. name);strc py(peopl ej.start ,peopl ej+1.start);strc py(peopl ej.e nd,peopl ej+1.e nd);peop lej.s_ mon th=peop lej+1.s_mo nth;peop lej.s_day=peop lej+1.s_day;peopi ej.s_hour=p
14、eopl ej+1.s_hour;peopi ej.s_ minu te=peopi ej+1.s_ minute;peopi ej.d_ mon th=peopi ej+1.d_ month;peopi ej.d_day=peopi ej+1.d_day;peopi ej.d_hour =peopl ej+1.d_hour;peopi ej.d_ minu te=peopi ej+1.d_ minute;peopi ej.coast_t=peopi ej+1.coast_t;peop lej.coast_m=peop le|+1.coast_m;t=t-1;/删除该客户信息后,客户记录减去1
15、if(k=0)printf("查无此人!n");prin tf("nnnn");return t;/查询信息,出入所要查询的顾客的航班信息,并给出错误处理check()int i,n u_mber,k=0;/k为判断是否查找到客户信息char n a_me10;printf("查询:n");printf("请输入证件号码与客户姓名:n");/getch();/fflush(stdi n);scan f("%d,%s", &nu_ mber, na_me);for(i=0;i<100
16、;i+) if(nu _mber=peopi ei. nu mber&&strcm p(n a_me ,peopl ei. name)=0)k=1;printf("以下是该客户信息:n");printf("证件号:%d;姓名:%s;出发地:%s;目的地:%s;出发时间:%d月%d日%d时%d分n ”, peopi ei. nu mber, peopi ei. name ,peopl ei.start ,peopl ei.e nd,peopl ei.s_m on th, peopi ei.s_day ,peopl ei.s_hour, peopi e
17、i.s_ minu te);prin tf("nnnn");if(k=0)printf("查无此人!nnnn");mai n()/使用文件初始化信息int s,p ,q=O,i;/p,q为循环判断变量int t=0;/*FILE *fp;char n ame="1.txt"if(!(fp=fo pen( "1.txt","w")p ri ntf("error!n");for(i=0;iv3;i+) fprin tf(fp,"%15s%15s%4d%4d%4d%4d%
18、4d%4d%4d%4d%4d%4d%4dn",airi.start,airi.e nd,airi.s_ mon th,airi.s_day,airi.s_hour.airi.s_mi nu te,airi.d_mo nth,airi.d_day,airi.d_hour,airi.d_mi nu te,airi.coast_t,airi.coast_m,airi. nu m);fclose(fp);*/FILE *fp;char n ame="1.txt"if(!(fp=fo pen ("1.txt","r")pri ntf(
19、"error!n");for(i=0;iv3;i+) fscan f(fp,"%15s%15s%4d%4d%4d%4d%4d%4d%4d%4d%4d%4d%4dn",&airi.start,&airi.e nd,& airi.s_ mon th,&airi.s_day,&airi.s_hour.& airi.s_mi nute,& airi.d_mo nth,&airi.d_day, &airi.d_hour, &airi.d_min ute,&airi.coast_
20、t, &airi.coast_m,&airi. nu m);fclose(fp);/char n ame;/read conument while(q=0)prin tf("*n")printf("请选择服务种类:n1为定票;2为退票;3查找信息;0为退出n");prin tf("*n")/system(" pause");scan f("%d", &s);getcharO;switch(s)case 1:t=book(t);/订票操作break;case 2:t=re_ti(t);/退票操作break;case 3:check();/查找客户信息是否存在break;case 0:printf("航空集团祝福您旅途愉快门;printf("您确定离开界面?1/0n");scan f("%d",&p);if(P=1)q=1;else q=0;隣翳S霹汩查找信息期退岀1定票:请觐V岀发地,目的地岀发0期=beijingshanghai1,1I、beijingshansfhai,!,!由bei jing到srhemsrKa;!时间为1月1号的航班票价为】
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 兽医胸腔超声培训课件
- 2026年及未来5年市场数据中国大型购物中心行业市场发展数据监测及投资方向研究报告
- 养老院投诉处理与改进制度
- 企业内部资料管理制度
- 养鸡肉鸡技术培训课件
- 2026福建三明市公安局三元分局招聘警务辅助人员24人参考题库附答案
- 2026福建泉州市面向国防科技大学选优生选拔引进考试备考题库附答案
- 2026辽宁朝阳市教育局直属学校赴高校招聘教师(第二批次)102人备考题库附答案
- 保密及知识产权保护制度
- 2026陕西省面向北京科技大学招录选调生备考题库附答案
- 单位内部化妆培训大纲
- 高校行政管理流程及案例分析
- 高效节水灌溉方式课件
- 基坑安全工程题库及答案解析
- 《人间充质基质细胞来源细胞外囊泡冻干粉质量要求》(征求意见稿)
- 中润盛和(孝义)新能源科技 孝义市杜村乡分散式微风发电项目可行性研究报告
- 乡镇村监会培训课件
- 入团申请书教学课件
- 松下微波炉NN-DS581M使用说明书
- 2026年中国农业银行秋季校园招聘即将开始考试笔试试题(含答案)
- 2025年江苏省招聘警务辅助人员考试真题及答案
评论
0/150
提交评论