1、#include /标准输入、输出头文件#include /包含字符串函数处理头文件#include /包含 access 函数的头文件#define N 9999 /定义最多的航班数#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 i,m=0;
2、/定义全局变量char ii10;void add(); /函数声明增加航班信息函数void print(); /显示航班信息void search(); /查找航班信息void dingpiao(); /订票业务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.增加航班信息n“t2.浏览航班信息n“tt3.查找航班信息(按航班号)tt(_) n“ttt4.航班排序(按航班号)n“tttt5.订票业务n“ “to()ottt6. 退票业务n“tttttt0.退出n“);printf(“= “); printf(“请在 0-6 中选择以回车键结束: “);scanf(“%d“,switch(j)case 1: add(); /调用增加航班函数bre
4、ak;case 2:print(); /调用显示模块break;case 3:search(); /调用查找模块break;case 4:paixu(); /调用排序函数break;case 5:dingpiao(); /调用订票模块break;case 6:tuipiao(); /调用退票模块break; case 0: /退出系统save();printf(“谢谢使用,再见! “);break;while(j!=0); /判断是否调用其他函数void chushihua() /定义系统初始化函数if(access(“hangban.dat“,0)build();elseread();voi
5、d build() /定义建立数据文件函数FILE *fp; /定义文件指针if(fp=fopen(“hangban.dat“,“wb“)=NULL) /打开文件并判定是否出错 printf(“创建文件失败! “); /打印出错提示getchar();return;printf(“请依次输入航班信息(以回车键结束):n“); /打印提示信息printf(“- n“);for(i=0;i=n) /判定机票数是否大于等于订票数si.count=si.count-n;printf(“订票成功! “);break;else if(si.countsj.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;