《数据结构课程设计——飞机航线查询系统》由会员分享,可在线阅读,更多相关《数据结构课程设计——飞机航线查询系统(11页珍藏版)》请在金锄头文库上搜索。
1、题目:飞机航班信息系统功能:能够实现航班信息的查询、修改、退票等操作具体要求:1界面简洁美观。 2查询航班信息的至少两种方式:1、按航班号查询 2、按照航线查询 3用户订票或者退票之后,与之对应的相关航班信息要跟着改变。 4当没有乘客要乘坐的航班时,系统能够智能提示用户的其他路线选择。具体的代码实现:#includestdio.h#includestdlib.h#include /包含字符串函数处理头文件 #define N 50 #define M 50struct air/定义结构体数组 char number10; char start10; char end10; char time1
2、8;char time28;int price;int count;int num; sN; int m;structchar name20;char ID7;int t;int co;cM;void save()/保存模块程序 int i; FILE *fp;/定义文件指针 if(fp=fopen(info.txt,wb)=0)/翻开文件并判断是否出错 printf(创立文件失败!n);/打印出错提示 exit (0); for(i=0;im;i+) if(fwrite(&si,sizeof(struct air),1,fp)=0)/向文件写入数据,并判断是否出错 printf(向文件输入数
3、据失败!nn); fclose(fp);/关闭文件 void read()/从文件读取信息模块 int i; FILE *fp;/定义文件指针 if(fp=fopen(info.txt,rb)=0)/翻开文件,并判断是否出错 printf(出错,请检查文件是否存在n);/打印出错提示 exit (0); for(i=0;im;i+) fread(&si,sizeof(struct air),1,fp);/从文件中读取信息 fclose(fp);/关闭文件 void menu()printf( -您好,欢送进入中国民航管理系统!-n); printf(=n); printf( - 1.输入航班信
4、息 - n); printf( - 2.浏览航班信息 - n); printf( - 3.修改航班信息 - n); printf( - 4.查找航班信息 - n); printf( - 5.删除航班信息 - n); printf( - 6.订票信息 - n); printf( - 7.退票信息 - n); printf( - 0.退出 - n); printf(=n); void Input()int i;printf(你需要输入多少个航班信息?n);scanf(%d,&m);printf(请依次输入航班信息:n) ;printf(航班号 起点站 终点站 起飞时间 抵达时间 票价 折扣 总票数
5、n);for(i=0;im;i+)scanf(%s,si.number); /读取航班号 scanf(%s,si.start);/读取起始站 scanf(%s,si.end);/读取终点站 scanf(%s,si.time1);/读取时间scanf(%s,si.time2);scanf(%d,&si.price);scanf(%d,&si.count);/读取机票数 scanf(%d,&si.num); save();printf(输入后的航班信息如下n);read();printf(|航班号 | 起点站 | 终点站 | 起飞时间| 抵达时间 | 票价| 折扣 | 剩余票数n);for(i=0
6、;im;i+) printf(%3s ,si.number); printf(%8s ,si.start); printf( %8s,si.end); printf( %8s ,si.time1); printf(%8s ,si.time2); printf(%8d,si.price); printf(%7d折,si.count); printf(%8d,si.num); printf(n);void Display(int m) int i;read();printf(* 【 航班信息 】 *n);printf(|航班号 | 起点站 | 终点站 | 起飞时间| 抵达时间 | 票价| 折扣 |
7、 剩余票数n);printf(*n);for(i=0;i0)switch(k) case 1: printf(请输入航班号:n); scanf(%s,code);break;case 2: printf(请输入起始站名称:n); scanf(%s,name1);/读取起始站 printf(请输入终点站名称:n); scanf(%s,name2);break; read();/调用读取函数 for(i=0;im;i+) if(strcmp(si.number,code)=0) printf(查找航班信息成功); Print(i);break; if(strcmp(si.start,name1)=
8、0&strcmp(si.end,name2)=0)/按终点站起始站判断输出条件 printf(查找航班信息成功!n); Print(i);break; else if(strcmp(si.start,name1)=0|strcmp(si.end,name2)=0) printf(查找信息失败!没有您要查询的航线,您还可以考虑乘坐以下航班n); Print(i);void Modify() /修改模块 struct /定义结构体 char ch10; char name110; char name210; char time18;char time28;int price; int count;
9、int num; mo; char a; int i,n; read();/调用读取模块/Display(m); do printf(请选择修改方式:n); printf(*1,按航班号修改:n);printf(*2,按航线修改: n); printf(请选择1或2,按回车键确认:n); scanf(%d,&n);/读取修改方式 switch(n) case 1:printf(请输入航班号:n); scanf(%s,mo.ch);/读取航班号 break; case 2:printf(请输入起始站:n); scanf(%s,mo.name1);/读取起始站 printf(请输入终点站:n); scanf(%s,mo.name2);/读取终点站