1、航空系统#include /标准输入、输出头文件#include /包含字符串函数处理头文件#include /包含动态存储与释放函数头文件#define N 10000 struct air /定义结构体数组int num;char start20;char over20;char time10;char qifeitime10;char jiangluotime10;char piaojia10;int count;sN,temp;int i,j;int m=0;int dingpiaoshu;# define PRINT “ %2d%8s%10s%13s%10s%12s%9s%8dn“,
2、si.num,si.start,si.over,si.time,si.qifeitime,si.jiangluotime,si.piaojia,si.count /定义输出格式void input(); /输入航班信息void print(); /输出航班信息void save(); /保存航班信息void read(); /读取航班信息void sort(); /排序void search(); /查找航班信息void dingpiao(); /订票信息void tuipiao(); /退票信息void dingpiao1();void main()int j;printf(“ -欢迎进入中
3、国民航管理系统!-n“); printf(“|_|n“);printf(“|*|n“);do printf(“|- 1.输入航班信息 -|n“| |n“|- 2.浏览航班信息 -|n“ “| |n“|- 3.查找航班信息 -|n“| |n“|- 4.排序 -|n“| |n“|- 5.订票信息 -|n“| |n“|- 6.退票信息 -|n“| |n“|- 0.退出 -|n“| |n“);printf(“|*|n“);printf(“|_|nn“);printf(“n“);printf(“ 请在 0-6中选择以回车键结束:n“);printf(“n“);scanf(“%d“,switch(j)ca
4、se 1: input();/调用输入模块break;case 2:print();/调用打印模块break;case 3:search();/调用查找模块break;case 4:sort();/排序模块break;case 5:dingpiao();/调用订票模块break;case 6:tuipiao();/调用退票模块break; case 0:;break;while(j!=0); /判断结束printf(“谢谢使用,再见!n“); /主函数结束void input() /打印模块程序 char f=“123“; /设置密码int y;printf(“请输入密码并以回车键结束:nn“
5、);scanf(“%s“,f); /输入密码if(strcmp(f,“123“)=0)printf(“请依次输入航班信息(机票数位结束输入):nn“完成输入信息请键入 0以回车键结束nn“); /打印提示信息printf(“-n“);for(i=0;i=n) /判断是否出错si.count=si.count-n;dingpiaoshu=n;save(); /调用保存函数if(n=100)printf(“折扣为 5折“);printf(“n“);printf(“订票成功!nn“);break;if(si.countdingpiaoshu)break;si.count=si.count+n;sav
6、e(); /调用保存模块printf(“退票成功!nn“);printf(“_n“);printf(“是否继续?请键入 yes或 no以回车键结束:nn“);/判断是否继续退票scanf(“%s“,a);while(!strcmp(a,“yes“); /判断并跳出循环getchar();void sort()int n;read(); /调用读取函数printf(“_n“);printf(“请输入排序(浏览)方式:nn“);printf(“1.按航班号排序(浏览):nn“2.按起飞时间排序(浏览):nn“);printf(“_n“);printf(“输入或选择排序方式:nn“);scanf(“
7、%d“,if(n=1) /按航班号排序(浏览)for (i=0;i sj.num)temp=si;si=sj;sj=temp;else /按起飞时间排序(浏览)for (i=0;i0)temp=si;si=sj;sj=temp;printf(“n排序后:n“);print();void dingpiao1() /查询模块char name120;char name220;int n,no;doprintf(“*nn“); /打印查询方式菜单printf(“请选择订票方式:nn“);printf(“1.按航班号订票nn“2.按终点站订票nn“3.按航线订票nn“0.返回nn“);printf(“
8、*nn“);printf(“请在 0-3中选择:nn“);scanf(“%d“, /读取查找方式if(n=0)break;switch(n)case 1:printf(“请输入航班号:n“);scanf(“%d“, /航班号break;case 2:printf(“请输入终点站名称:n“);scanf(“%s“,name2); /读取终点站break;case 3:printf(“请输入起始站名称:n“);scanf(“%s“,name1); /读取起始站printf(“请输入终点站名称:n“);scanf(“%s“,name2); /终点站break;read(); /调用读取函数for(i
9、=0;im;i+) if(strcmp(si.over,name1)=0|strcmp(si.over,name2)=0) /按终点站起始站判断输出条件printf(“n查找航班信息成功!可以订票n“);printf(“*nn“);printf(“航班号 起始站 终点站 日期 起飞时间 降落时间 票价 机票数n“);printf(PRINT);/打印信息printf(“*nn“);j=1;break;if(si.num=no) /按航班号判断输出条件 printf(“n查找航班信息成功!可以订票n“);printf(“*nn“);printf(“航班号 起始站 终点站 日期 起飞时间 降落时间 票价 机票数n“);printf(PRINT); /打印信息printf(“*nn“);j=1;break; no=0; printf(“没有您需要的信息或查找完毕!nn“);while(j=0); /判断结束