ImageVerifierCode 换一换
格式:DOCX , 页数:14 ,大小:170.61KB ,
资源ID:12821527      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12821527.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C语言飞机订票系统.docx)为本站会员(b****0)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C语言飞机订票系统.docx

1、C语言飞机订票系统课程设计课程:数据结构专业班级:xx软件工程 xx班姓名:xx学号:xxx姓名:xxx学号:xxx设计时间:xxx指导老师:xxx课程设计题:飞机订票系统 一、 设计目的 1掌握结构体数组的表示和存储。 2. 掌握链表的存储和操作。 3掌握文件的操作。 二、设计内容和要求 1.任务:通过此系统可以实现如下功能: 录入:可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定) 查询:可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓);可以输入起飞抵达城市,查询飞机航班情况; 订票:订票情况可以存在一个数据文

2、件中,结构自己设定。可以订票,如果该航班已经无票,可以提供相关可选择航班; 退票:可退票,退票后修改相关数据文件; 客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。 修改航班信息:当航班信息改变可以修改航班数据文件。 要求:根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能设计思想:管理操作系统,主要考虑的是信息的录入,这里利用文件的读写完成该功能;输出,查询以及删除,利用结构数组存储航班与客户信息,依次对订票,退票,查询及相关操作编写成子程序,然后再主程序中调用,这样程序看起来相当简练,而且易读懂;算法设计分析:(次系统运行环境为VC6.0)1.txt beiji

3、ng shanghai 1 1 12 0 1 1 18 0 6 100 2 shanghai wuhang 2 2 12 0 2 2 14 0 2 110 1 wuhang chibi 3 3 13 0 3 3 14 0 1 50 2(此文件是程序执行航班信息录入时自动生成,在信息读取时需要调用)首先是航班于客户信息的存储,结构数组的利用很好的解决该问题;其次是文件的操作,在主函数中利用文件的读与写;下面介绍订票退票以及查询操作的实现。1订票:首先输入出发地与目的地,查找是否有相应的航班信息,在航2班票数足够的情况下,录入客户信息,提示操作成功;否则失败。3退票:输入退票客户的姓名与身份号码,

4、查找到该客户信息后进行退票操作,完成后对应航班票数加1;若没有该客户信息,提示查无此人。查询:输入客户姓名与身份号码,若查到有该客户信息,显示该客户的航班情况;否则提示差无此人。/飞机定票管理系统#include#include#define N 10struct flight char start10;/出发地 char end10;/目的地 int s_month;/出发时间月份,天,小时,分钟 int s_day; int s_hour; int s_minute; int d_month;/到达时间月份,天,小时,分钟 int d_day; int d_hour; int d_minu

5、te; int coast_t;/历时多久 int coast_m;/票价 int num;/剩余票数 /int bianhao;/机票编号airN;/结构体数组存储航班信息/客户信息struct con int number;/定票者的证件号码 char name10;/定票者的名字 char start10;/出发地 char end10;/目的地 int s_month;/出发时间月份,天,小时,分钟 int s_day; int s_hour; int s_minute; int d_month;/到达时间月份,天,小时,分钟 int d_day; int d_hour; int d_

6、minute; int coast_t;/历时多久 int coast_m;/票价/ int bianhao;/机票编号people100;/定票,输出发地与目的地,时间,反馈剩余票,票价book(int t) int i,month,day,p,q,k=0;/k为判断输入的信息是否有误 char start10,end10; printf(定票:n); /输入查询的航班信息,以便搜索 while(k=0) printf(请输入出发地,目的地,出发日期:n); /* gets(start);gets(end); /*这里输入时应注意用回车键,否则默认字符串存入start* scanf(%d,%

7、d,&month,&day); /* /scanf(%s,%s,%d,%d,start,end,&month,&day); / getchar(); printf(%s,%s,%d,%d,start,end,month,day); /扫描信息,搜索与所查询的航班匹配信息 for(i=0;iN;i+) p=strcmp(start,airi.start);q=strcmp(end,airi.end); if(p=0&q=0&month=airi.s_month&day=airi.s_day) k=1;/信息输入无误,即找到匹配信息 printf(由%s到%s时间为%d月%d号的航班票价为%d,余

8、票为%dn,airi.start,airi.end,airi.s_month,airi.s_day,airi.coast_m,airi.num); /更新信息,将客户信息存储 if(airi.num=0)printf(票已售完,如有不便请谅解!nnnn); else airi.num=airi.num-1; printf(请输入您的证件号码与姓名:n); scanf(%d,%s,&peoplet.number,peoplet.name); getchar(); strcpy(peoplet.start,airi.start); strcpy(peoplet.end,airi.end); peo

9、plet.s_month=airi.s_month; peoplet.s_day=airi.s_day; peoplet.s_hour=airi.s_hour; peoplet.s_minute=airi.s_minute; peoplet.d_month=airi.d_month; peoplet.d_day=airi.d_day; peoplet.d_hour=airi.d_hour; peoplet.d_minute=airi.d_minute; peoplet.coast_t=airi.coast_t; peoplet.coast_m=airi.coast_m; / peoplet.b

10、ianhao=airi.bianhao; printf(恭喜您定票成功!nnnn); t+; / system(pause); if(k=0) printf(信息输入有误n); printf(是否继续定票?0为继续1为退出n); scanf(%d,&k); getchar(); return t;/退票,并将客户信息栏中该客户信息清楚,所乘航班票数加1re_ti(int t) int i,j,nu_mber,k=0;/k为判断是否查找到客户信息 char na_me10; printf(退票:n); printf(请输入证件号码与客户姓名:n); scanf(%d,%s,&nu_mber,na

11、_me); getchar(); for(i=0;i100;i+) if(nu_mber=peoplei.number&strcmp(na_me,peoplei.name)=0) k=1;/找到该客户信息 /退票后,与该客户对应航班票数增1 for(j=0;jN;j+) if(strcmp(peoplei.start,airj.start)=0&strcmp(peoplei.end,airj.end)=0&peoplei.s_month=airj.s_month&peoplei.s_day=airj.s_day) airj.num=airj.num+1; /将客户信息依次向前移动 for(j=

12、i;j100;j+) / printf(成功删除该客户信息!n); peoplej.number=peoplej+1.number; strcpy(peoplej.name,peoplej+1.name); strcpy(peoplej.start,peoplej+1.start); strcpy(peoplej.end,peoplej+1.end); peoplej.s_month=peoplej+1.s_month; peoplej.s_day=peoplej+1.s_day; peoplej.s_hour=peoplej+1.s_hour; peoplej.s_minute=people

13、j+1.s_minute; peoplej.d_month=peoplej+1.d_month; peoplej.d_day=peoplej+1.d_day; peoplej.d_hour=peoplej+1.d_hour; peoplej.d_minute=peoplej+1.d_minute; peoplej.coast_t=peoplej+1.coast_t; peoplej.coast_m=peoplej+1.coast_m; t=t-1;/删除该客户信息后,客户记录减去1 if(k=0)printf(查无此人!n); printf(nnnn); return t;/查询信息,出入所要

14、查询的顾客的航班信息,并给出错误处理check() int i,nu_mber,k=0;/k为判断是否查找到客户信息 char na_me10; printf(查询:n); printf(请输入证件号码与客户姓名:n);/ getch(); /fflush(stdin); scanf(%d,%s,&nu_mber,na_me); for(i=0;i100;i+) if(nu_mber=peoplei.number&strcmp(na_me,peoplei.name)=0) k=1; printf(以下是该客户信息:n); printf(证件号:%d;姓名:%s;出发地:%s;目的地:%s;出发

15、时间:%d月%d日%d时%d分n,peoplei.number,peoplei.name,peoplei.start,peoplei.end,peoplei.s_month,peoplei.s_day,peoplei.s_hour,peoplei.s_minute); printf(nnnn); if(k=0)printf(查无此人!nnnn); main() /使用文件初始化信息 int s,p,q=0,i;/p,q为循环判断变量 int t=0;/* FILE *fp; char name=1.txt; if(!(fp=fopen(1.txt,w) printf(error!n); for

16、(i=0;i3;i+) fprintf(fp,%15s%15s%4d%4d%4d%4d%4d%4d%4d%4d%4d%4d%4dn,airi.start,airi.end,airi.s_month,airi.s_day,airi.s_hour, airi.s_minute,airi.d_month,airi.d_day,airi.d_hour,airi.d_minute,airi.coast_t,airi.coast_m,airi.num); fclose(fp); */ FILE *fp; char name=1.txt; if(!(fp=fopen(1.txt,r) printf(erro

17、r!n); for(i=0;i3;i+) fscanf(fp,%15s%15s%4d%4d%4d%4d%4d%4d%4d%4d%4d%4d%4dn,&airi.start,&airi.end,&airi.s_month,&airi.s_day,&airi.s_hour, &airi.s_minute,&airi.d_month,&airi.d_day,&airi.d_hour,&airi.d_minute,&airi.coast_t,&airi.coast_m,&airi.num); fclose(fp); / char name; /read conument while(q=0) prin

18、tf(*n); printf(请选择服务种类:n1为定票;2为退票;3查找信息;0为退出n); printf(*n); / system(pause); scanf(%d,&s); getchar(); 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); scanf(%d,&p); if(p=1)q=1; else q=0; 输入从北京到上海的航班,录入客户信息,当前票数为2;输入查询的客户证件号码与姓名,找到后输出客户的航班信息;输入退票者的信息,完成后在进行查找操作时确定已经没有该客户信息;退出界面;收获及体会:通过此次实验,使我对结构数组有了更深刻的理解,也认识到了它的一些缺陷,就是如果对它进行删除以及增添信息时,信息的移动有点麻烦;这时如果用链表进行操作的话会相对简单些;于此同时,语言这类学科,用着就会熟练起来,程序开始时,生疏的地方很多,久而久之,用起来就熟练了;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1