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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

C语言课程设计飞机订票系统源代码.docx

1、C语言课程设计飞机订票系统源代码#include/ 标准输入、输出头文件#include/ 包含字符串函数处理头文件#include包含 access函数的头文件#define N 99/定义最多的航班数#define PRINT %dtt%stt%stt 星期 stt%dn,si.num,si.start,si.over,si.time,si.count/ 宏定义输出格式struct air/ 定义结构体数组 int num;/ 定义航班号char start20;/ 航班起始站char over20;/ 终点站char time10;/ 飞行时间int count;/ 机票数量sN;int

2、 i,m=0;/ 定义全局变量char ii10;void add();函数声明增加航班信息函数void print();/ 显示航班信息void search();查找航班信息void din gpiao(); 订票业务void tuipiao();/ 退票void read();读取文件void save();保存文件void output();/ 输出格式void paixu();/ 航班排序void chushihua();/ 系统初始化void build();/ 建立数据文件void paixu1();/ 按航班号从小到大排序void paixu2();/ 从大到小void mai

3、n()/ 主函数 int j;chushihua();/ 系统初始化判断是否存在原始数据文件printf( 欢迎使用飞机订票系统 n);/ 打印出系统主界面 doprintf(= = );printf(1.增加航班信息 nt2.浏览航班信息 ntt3查找航班信息(按航班号)tt、(丿_ T 厂nttt4航班排序(按航班号)ntttt5.订票业务 nto 旷) ottt6.退票业务 ntttttt0退出 n);printf(= = );printf( 请在 0-6 中选择以回车键结束:);scanf(%d,&j);switch(j)case 1: add() ; /调用增加航班函数break;c

4、ase 2:print();/ 调用显示模块break;case 3:search();调用查找模块break;case 4:paixu();调用排序函数break;case 5:di ngpiao();调用订票模块break;case 6:tuipiao();调用退票模块break;case 0:/退出系统save();printf( 谢谢使用,再见! );break;while(j!=0);/ 判断是否调用其他函数 void chushihua()/ 定义系统初始 化函数 if(access(hangban.dat,0)build();elseread();void build()定义建立

5、数据文件函数FILE *fp;定义文件指针if(fp=fopen(hangban.dat,wb)=NULL)/ 打开文件并判定是否出错 printf( 创建文件失败 ! );/ 打印出错提示getchar();return;printf( 请依次输入航班信息 (以回车键结束 ):n);/ 打印提示信息printf( n);for(i=0;iN;i+)printf( 请输入航班号 :);scanf(%d,&si.num);/ 输入航班号printf( 请输入起始站 :);scanf(%s,si.start);/ 输入起始站printf( 请输入终点站 :);sea nf(%s,si.over);

6、 输入终点站printf( 请输入时间 (星期几 ):);scanf(%s,si.time);/ 输入时间printf( 请输入机票数 :);scanf(%d,&si.count);/ 输入机票数fwrite(&si,sizeof(struct air),1,fp);m+;printf( 添加完毕 ,是否继续添加 ?请键入 y 或 n 以回车键结束 :);scanf(%s,ii);if(strcmp(ii,y)!=0)/ 判断是否继续添加航班信息 fclose(fp);/ 关闭文件 return;void read()/ 定义读取文件函数 FILE *fp; if(fp=fopen(hangb

7、an.dat,r)=NULL)printf( 创建文件失败 ! ); getchar();return;i=0;while(!feof(fp)fread(&si,sizeof(struct air),1,fp);/ 逐块读取数据i+;m+;/ 计算存在航班数 m-;fclose(fp);void save()/ 定义保存函数 FILE *fp; if(fp=fopen(hangban.dat,wb)=NULL)printf( 创建文件失败 ! );getchar();return;for(i=0;im;i+)/ 逐块保存数据 fwrite(&si,sizeof(struct air),1,fp

8、); fclose(fp);void add()/ 定义增加航班信息函数 do printf( 请依次输入您要增加的航班信息 (以回车键结束 ): n);/ 打印提示信息n);printf( printf( 请输入航班号 :);scanf(%d,&sm.num);/ 读取航班号printf( 请输入起始站 :);scanf(%s,sm.start);/ 读取起始站printf( 请输入终点站 :);scanf(%s,sm.over);/ 读取终点站printf( 请输入时间 :);scanf(%s,sm.time);/ 读取时间printf( 请输入机票数 :);scanf(%d,&sm.co

9、unt);/ 读取机票数m+;printf( 添加完毕 ,是否继续添加 ?请键入 y 或 n 以回车键结束 :);scanf(%s,ii);while(!strcmp(ii,y);/ 判断是否继续添加 void output()/ 定义输出格式函数 printf(”航班号tt起始站tt终点站tt时间tt机票数n);信息标题for(i=0;im;i+)printf(PRINT);/打印出信息void print()定义显示航班信息函数printf(n目 前我们有如下航班:n);output();/ 调用输出格式函数printf(n 请按回车键返回上层菜单 );getchar();getchar(

10、);void search()定义查询函数int n;doprintf(n 请输入航班号:);scanf(%d,&n);/输入查询的航班号for(i=0;i=n) 判定机票数是否大于等于订票数si.count=si.count-n;printf( 订票成功 ! );break;else if(si.countn)判定机票数是否小于订票数printf(对不起,你所 选择的航班只剩%d张机票n, si.count);printf(”是否需要重新输入机票数?请输 入y或n以回车键结束:);/判定是否重新输入订票数scanf(%s,a);while(!strcmp(a,y);printf( 是否需要订

11、其他航班的机票 ?请输入 y 或 n 以回车键结束 :);scanf(%s,a);while(!strcmp(a,y); 判定是否继续订票void tuipiao()/ 定义退票函数int n;char a10;dosearch();调用查询函数if(!strcmp(ii,n)printf( 对不起 !没有找到您所需要的航班 ,所以不能退票。 n);printf(n 请按回车键返回上层菜单 );getchar();getchar();strcpy(ii,n);break;printf( 请输入您要退的机票数目:);scanf(%d,&n);/ 输入所退票数if(n=0)/ 判定票数是否有效pr

12、intf( 输入错误!至少需退 1张机票。 );elsesi.count=si.count+n;printf(退票成功! );printf(是否继续?请键入y或n以回车键结束:);/ 判定是否继续退票 scanf(%s,a);while(!strcmp(a,y); 判定并跳出循环void paixu()定义排序函数int n;printf(1.按航班号从小到大排序 nt2.按航班号从大到小排序 n);printf( 请在 1-2 中选择以回车键结束:);scanf(%d,&n);/ 输入排序方式 switch(n)case 1:paixu1();/ 调用从小到大排序函数 break;case

13、2:paixu2();调用从大到小排序函数break;printf( 排序后的航班信息为 :n);output();/ 显示排序后航班信息printf(n 请按回车键返回上层菜单 );getchar();getchar();void paixu1()定义从小到大排序函数int k,j; struct air t;for(i=0;im;i+) 选择法排序k=i;for(j=i+1;jsj.num)k=j;if(i!=k)t=sk;sk=si;si=t;void paixu2()/ 定义从大到小排序函数 int k,j;struct air t;for(i=0;im;i+)k=i;for(j=i+1;jm;j+)if(sk.numsj.num)k=j; if(i!=k)t=sk; sk=si; si=t;

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

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