c语言编写航班查询代码_第1页
c语言编写航班查询代码_第2页
c语言编写航班查询代码_第3页
c语言编写航班查询代码_第4页
c语言编写航班查询代码_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

1、#include<stdio.h> /标准输入、输出头文件#include<string.h> /包含字符串函数处理头文件#include<stdlib.h> /包含动态存储与释放函数头文件#define N 10000 strUCt air /定义结构体数组 int num; char start20; char over20; char time10; int count;sN;int i;int m=0;#define PRINT "%-d%12s%12s%10s%12d ",si.num,si.start,si.over,si.t

2、ime,si.count /定义输出格式void input(); /输入航班信息void print(); /输出航班信息void save(); /保存航班信息 void read(); /读取航班信息void search(); /查找航班信息void shanchu(); /删除航班信息void dingpiao(); /订票信息void tuipiao(); /退票信息void xiugai(); /修改信息void main() int j; printf(" -您好,欢迎进入中国民航治理系统!- "); printf("= "); do p

3、rintf(" - 1.输入航班信息 - " " - 2.浏览航班信息 - " " - 3.修改航班信息 - " " - 4.查找航班信息 - " " - 5.删除航班信息 - " " - 6.订票信息 - " " - 7.退票信息 - " " - 0.退出 - "); printf("= "); printf("请在0-7中选择以回车键结束: "); scanf("%d",&

4、amp;j); switch(j) case 1: input();/调用输入模块 break; case 2:print();/调用打印模块 break; case 3:xiugai();/调用修改模块 break; case 4:search();/调用查找模块 break; case 5:shanchu(); /调用删除模块 break; case 6:dingpiao();/调用订票模块 break; case 7:tuipiao();/调用退票模块 break; case 0:; break; while(j!=0); /判定结束 printf("谢谢使用,再见! &quo

5、t;);/主函数结束 void input()/打印模块程序 char f="2008china" /设置密码 int y; printf("请输入密码并以回车键结束: "); scanf("%s",f); /读取密码 if(strcmp(f,"2008china")=0) printf("请依次输入航班信息(机票数位0结束输入): " "完成输入信息请键入w以回车键结束 "); /打印提示信息 printf("- "); for(i=0;i<N;i

6、+) printf("请输入航班号: "); scanf("%d",&si.num); /读取航班号 printf("请输入起始站: "); scanf("%s",si.start);/读取起始站 printf("请输入终点站: "); scanf("%s",si.over);/读取终点站 printf("请输入时间: "); scanf("%s",si.time);/读取时间 printf("请输入机票数(机票数为0

7、结束输入): ",m); scanf("%d",&si.count);/读取机票数 m+; printf("第%d个信息已经输完是否继续?按任意键继续,按 0结束",m); scanf("%d",&y); if(y=0) else printf("输入密码错误!请检查您的密码是否正确!谢谢!再见! ");void save()/保存模块程序 FILE *fp,*fp1;/定义文件指针 if(fp=fopen("chen.dat","wb")=NULL

8、)/打开文件并判定是否出错 printf("创建文件失败! ");/打印出错提示 getchar(); return; if(fp1=fopen("hao.dat","wb")=NULL)/打开文件并判定是否出错 printf("创建文件失败! ");/打印出错提示 getchar(); return; for(i=0;i<m;i+) if(fwrite(&si,sizeof(struct air),1,fp)=0)/向文件写入数据,并判定是否出错 printf("向文件输入数据失败! &q

9、uot;); fprintf(fp1,"%d",m); fclose(fp);/关闭文件 fclose(fp1);/关闭文件 void read()/从文件读取信息模块 FILE *fp,*fp1;/定义文件指针 if(fp=fopen("chen.dat","rb")=NULL)/打开文件,并判定是否出错 if(fp1=fopen("hao.dat","rb")=NULL)/打开文件并判定是否出错 printf("创建文件失败! ");/打印出错提示 getchar();

10、return; fscanf(fp1,"%d",&m); fclose(fp1);/关闭文件 for(i=0;i<m;i+) fclose(fp);/关闭文件void print()/打印模块 char w10; read();/调用读取文件函数 printf("航班号 起始站 终点站 时间 机票数 "); for(i=0;i<m;i+) printf(PRINT);/打印信息 printf("请按任意键回车键结束返回上层菜单以: "); scanf("%s",w); void search()

11、/查询模块 char name120; char name220; char ii10; int n,no;do printf("请选择查找方式: ");/打印查询方式菜单 printf("1.按航班号查找 " "2.按终点站查找 " "3.按航线查找 " "0.返回 "); printf("请在0-3中选择: " "按其他键以回车键结束返回主菜单: "); scanf("%d",&n);/读取查找方式 if(n=0) brea

12、k; switch(n) case 1: printf("请输入航班号: "); scanf("%d",&no);/航班号 break; case 2: printf("请输入终点站名称: "); scanf("%s",name2);/读取终点站 break; case 3: printf("请输入起始站名称: "); scanf("%s",name1);/读取起始站 printf("请输入终点站名称: "); scanf("%s&quo

13、t;,name2);/终点站 break; read();/调用读取函数 for(i=0;i<m;i+) if(strcmp(si.over,name1)=0strcmp(si.over,name2)=0)/按终点站起始站判定输出条件 printf(" 查找航班信息成功! "); printf("航班号 起始站 终点站 时间 机票数 "); printf(PRINT);/打印信息 break; if(si.num=no)/按航班号判定输出条件 printf(" 查找航班信息成功! "); printf("航班号 起始站

14、 终点站 时间 机票数 "); printf(PRINT);/打印信息 break; no=0;/将航班号赋值为0 printf("没有您需要的信息或查找完毕: " "是否继续查找?请键入yes或no以回车键结束 "); scanf("%s",ii);while(strcmp(ii,"yes")=0);/判定结束 void shanchu()/删除模块 char name120; char name220; char ii10; char f="2008china"/设置密码 int

15、no,n; printf("请输入密码并以回车键结束: "); scanf("%s",f);/读取密码 if(strcmp(f,"2008china")=0) /判定密码是否正确 do printf("请选择删除以方式回车键结束: ");/打印删除方式菜单 printf("*1.按航班号删除 " "*2.按航线删除 " "*0.返回 "); printf("请在0-2中选择以回车键结束: "); scanf("%d"

16、,&n);/读取删除方式 if(n=0) break; /跳出循环 switch(n) case 1: printf("请输入航班号: "); scanf("%d",&no);/读取航班号 read();/调用读取函数 break;/跳出循环 case 2: printf("请输入起始站 名称: "); scanf("%s",name1);/读取起始站 printf("请输入终点站名称: "); scanf("%s",name2);/读取终点站 read();

17、/调用读取函数 break;/跳出循环 for(i=0;i<m;i+) printf("查找完毕或没有这个信息 "); printf("是否继续删除 "); printf("请键入yes或no以回车键结束 "); scanf("%s",ii); /读取是否继续信息 save(); /调用读取函数 if(!strcmp(ii,"yes") /判定是否继续删除 printf("请按任意键以回车键结束返回上层菜单: "); break; while(n!=1&&

18、;n!=2&&n!=3&&n!=4&&n!=0); /判定结束 else printf("对不起密码错误!您不是治理员,不能使用此项功能!谢谢!再见! "); void dingpiao()/订票模块 int n; char a10; do search();/调用查询模块 printf("请输入您要订的机票数以回车键结束: "); scanf("%d",&n);/读取所订机票数 if(n<0) printf("请输入有效的机票数! ");/判定机票数是

19、否出错 break; if(si.count!=0&&si.count>=n)/判定是否出错 si.count=si.count-n; save();/调用保存函数 printf("订票成功! "); break; if(si.count<n)/判定是否出错 printf("请输入有效的机票数: "); break; printf("是否继续? 请输入yes或no以回车键结束: ");/判定是否继续订票 scanf("%s",a); while(!strcmp(a,"yes&q

20、uot;);/判定结束 void tuipiao()/退票模块 int n; char a10; do search();/调用查询模块 printf("请输入您要退的机票数目: "); scanf("%d",&n);/输入所退票数 if(n<0) /判定票数是否有效 printf("请输入有效的机票数! "); si.count=si.count+n; save(); /调用保存模块 printf("退票成功! "); printf("是否继续? 请键入yes或no以回车键结束: &quo

21、t;);/判定是否继续退票 scanf("%s",a); while(!strcmp(a,"yes");/判定并跳出循环 getchar();void xiugai() /修改模块 struct xiu /定义结构体 int no; char name120; char name220; char time20; int count; x1; char j10; char f="2008china"/设置密码 int n; printf("请输入密码并以回车键结束: "); scanf("%s"

22、,f);/读取密码 if(strcmp(f,"2008china")=0)/判定是否出错 read();/调用读取模块 do printf( "请选择修改方式: " "*1,按航班号修改: " "*2,按航线修改: "); printf("请在1-2中修改以回车键结束: "); scanf("%d",&n);/读取修改方式 switch(n) case 1:printf("请输入航班号: "); scanf("%d",&x0.no);/读取航班号 break; case 2:printf("请输入起始站: "); scanf("%s",1);/读取起始站 printf("请输入终点站: "); scanf("%s",x0.nam

温馨提示

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

评论

0/150

提交评论