c语言编写航班查询代码.doc

上传人:xin****828 文档编号:6697737 上传时间:2020-03-02 格式:DOC 页数:9 大小:33KB
返回 下载 相关 举报
c语言编写航班查询代码.doc_第1页
第1页 / 共9页
c语言编写航班查询代码.doc_第2页
第2页 / 共9页
c语言编写航班查询代码.doc_第3页
第3页 / 共9页
点击查看更多>>
资源描述
#include /标准输入、输出头文件#include /包含字符串函数处理头文件#include /包含动态存储与释放函数头文件#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.time,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 printf( - 1.输入航班信息 - - 2.浏览航班信息 - - 3.修改航班信息 - - 4.查找航班信息 - - 5.删除航班信息 - - 6.订票信息 - - 7.退票信息 - - 0.退出 - ); printf(= ); printf(请在0-7中选择以回车键结束: ); scanf(%d,&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(谢谢使用,再见! );/主函数结束 void input()/打印模块程序 char f=2008china; /设置密码 int y; printf(请输入密码并以回车键结束: ); scanf(%s,f); /读取密码 if(strcmp(f,2008china)=0) printf(请依次输入航班信息(机票数位0结束输入): 完成输入信息请键入w以回车键结束 ); /打印提示信息 printf(- ); for(i=0;iN;i+) printf(请输入航班号: ); scanf(%d,&si.num); /读取航班号 printf(请输入起始站: ); scanf(%s,si.start);/读取起始站 printf(请输入终点站: ); scanf(%s,si.over);/读取终点站 printf(请输入时间: ); scanf(%s,si.time);/读取时间 printf(请输入机票数(机票数为0结束输入): ,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)/打开文件并判定是否出错 printf(创建文件失败! );/打印出错提示 getchar(); return; if(fp1=fopen(hao.dat,wb)=NULL)/打开文件并判定是否出错 printf(创建文件失败! );/打印出错提示 getchar(); return; for(i=0;im;i+) if(fwrite(&si,sizeof(struct air),1,fp)=0)/向文件写入数据,并判定是否出错 printf(向文件输入数据失败! ); 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(); return; fscanf(fp1,%d,&m); fclose(fp1);/关闭文件 for(i=0;im;i+) fclose(fp);/关闭文件void print()/打印模块 char w10; read();/调用读取文件函数 printf(航班号 起始站 终点站 时间 机票数 ); for(i=0;im;i+) printf(PRINT);/打印信息 printf(请按任意键回车键结束返回上层菜单以: ); scanf(%s,w); void search()/查询模块 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) break; 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,name2);/终点站 break; read();/调用读取函数 for(i=0;im;i+) if(strcmp(si.over,name1)=0strcmp(si.over,name2)=0)/按终点站起始站判定输出条件 printf( 查找航班信息成功! ); printf(航班号 起始站 终点站 时间 机票数 ); printf(PRINT);/打印信息 break; if(si.num=no)/按航班号判定输出条件 printf( 查找航班信息成功! ); printf(航班号 起始站 终点站 时间 机票数 ); 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 no,n; printf(请输入密码并以回车键结束: ); scanf(%s,f);/读取密码 if(strcmp(f,2008china)=0) /判定密码是否正确 do printf(请选择删除以方式回车键结束: );/打印删除方式菜单 printf(*1.按航班号删除 *2.按航线删除 *0.返回 ); printf(请在0-2中选择以回车键结束: ); scanf(%d,&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();/调用读取函数 break;/跳出循环 for(i=0;im;i+) printf(查找完毕或没有这个信息 ); printf(是否继续删除 ); printf(请键入yes或no以回车键结束 ); scanf(%s,ii); /读取是否继续信息 save(); /调用读取函数 if(!strcmp(ii,yes) /判定是否继续删除 printf(请按任意键以回车键结束返回上层菜单: ); break; while(n!=1&n!=2&n!=3&n!=4&n!=0); /判定结束 else printf(对不起密码错误!您不是治理员,不能使用此项功能!谢谢!再见! ); void dingpiao()/订票模块 int n; char a10; do search();/调用查询模块 printf(请输入您要订的机票数以回车键结束: ); scanf(%d,&n);/读取所订机票数 if(n=n)/判定是否出错 si.count=si.count-n; save();/调用保存函数 printf(订票成功! ); break; if(si.countn)/判定是否出错 printf(请输入有效的机票数: ); break; printf(是否继续? 请输入yes或no以回车键结束: );/判定是否继续订票 scanf(%s,a); while(!strcmp(a,yes);/判定结束 void tuipiao()/退票模块 int n; char a10; do search();/调用查询模块 printf(请输入您要退的机票数目: ); scanf(%d,&n);/输入所退票数 if(n0) /判定票数是否有效 printf(请输入有效的机票数! ); si.count=si.count+n; save(); /调用保存模块 printf(退票成功! ); printf(是否继续? 请键入yes或no以回车键结束: );/判定是否继续退票 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,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,x0.name1);/读取起始站 printf(请输入终点站: ); scanf(%s,x0.name2);/读取终点站 break; for(i=0;im;i+) if(strcmp(si.over,x0.name1)=0&strcmp(si.over,x0.name2)=0)/判定输出条件 printf(航班号 起始站 终点站 时间 机票数 ); printf(PRINT); break; if(si.num=x0.no)/判定输出条件 printf(航班号 起始站 终点站 时间 机票数 ); printf(PRINT); break; x0.no=0; /将结构体中的号为零 printf(请输入新航班号、起始站、终点站、时间(星期几)、机票数: ); scanf(%d%s%s%s%d,&x0.no,x0.name1,x0.name2,x0.time,&x0.count);/定义输入格式 si.num=x0.no;/替换航班号 strcpy(si.start,x0.name1);/替换其始站 strcpy(si.over,x0.name2);/替换终点站 strcpy(si.time,x0.time);/替换时间 si.count=x0.count;/替换机票数 save();/调用保存模块 printf(是否继续?请键入yes或no以回车键结束: ); scanf(%s,j); while(strcmp(j,yes)=0); /判定结束 else printf(对不起密码错误!您不是治理员,不能使用此项功能!谢谢!再见! ); 资料引用:http:/www.knowsky.com/395384.html
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 中学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!