C语言课程设计――飞机订票系统源代码

  • 格式:docx
  • 大小:22.45 KB
  • 文档页数:12

下载文档原格式

  / 14
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

#include//标准输入、输出头文件

#include//包含字符串函数处理头文件

#include//包含access函数的头文件

#define N 99//定义最多的航班数

#define PRINT "%d\t\t%s\t\t%s\t\t星期%s\t\t%d\n

",s[i].num,s[i].start,s[i].over,s[i].time,s[i].count//宏定义输出格式struct air//定义结构体数组{int num;//定义航班号

char start[20];//航班起始站

char over[20];//终点站

char time[10];//飞行时间

int count;//机票数量

}s[N];

int i,m=0;//定义全局变量

char ii[10];

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 main()//主函数{int j;

chushihua();//系统初始化判断是否存在原始数据文件

printf("欢迎使用飞机订票系统\n");//打印出系统主界面

do{printf("============================================================= =================== ");

printf("

1.增加航班信息\n"

"\t

2.浏览航班信息\n"

"\t\t

3.查找航班信息(按航班号)\t\t╮(╯_╰)╭\n"

"\t\t\t

4.航班排序(按航班号)\n"

"\t\t\t\t

5.订票业务\n"

"\to(︶︿︶)o\t\t\t

6.退票业务\n"

"\t\t\t\t\t\t

0.退出\n");

printf("=========================================================== ===================== ");

printf("请在0-6中选择以回车键结束:

");

scanf("%d",&j);

switch(j){case 1: add();//调用增加航班函数

break;

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();}else

read();}void build()//定义建立数据文件函数{FILE *fp;//定义文件指针

if((fp=fopen("hangban.dat","wb"))==NULL)//打开文件并判定是否出错{

printf("创建文件失败! ");//打印出错提示

getchar();

return;}printf("请依次输入航班信息(以回车键结束):

\n");//打印提示信息

printf("-------------------------------------------------------------------------- \n");

for(i=0;i

");

scanf("%d",&s[i].num);//输入航班号

printf("请输入起始站:

");

scanf("%s",s[i].start);//输入起始站

printf("请输入终点站:

");

scanf("%s",s[i].over);//输入终点站

printf("请输入时间(星期几):

");

scanf("%s",s[i].time);//输入时间

printf("请输入机票数:

");

scanf("%d",&s[i].count);//输入机票数

fwrite(&s[i],sizeof(struct air),1,fp);

m++;

printf("添加完毕,是否继续添加?请键入y或n以回车键结束:

");

scanf("%s",ii);

if(strcmp(ii,"y")!=0)//判断是否继续添加航班信息{fclose(fp);//关闭文件return;}}}void read()//定义读取文件函数{FILE *fp;

if((fp=fopen("hangban.dat","r"))==NULL){printf("创建文件失败! "); getchar();

return;}i=0;

while(!feof(fp)){fread(&s[i],sizeof(struct air),1,fp);//逐块读取数据

i++;

m++;//计算存在航班数}m--;

fclose(fp);}void save()//定义保存函数{FILE *fp;

if((fp=fopen("hangban.dat","wb"))==NULL){printf("创建文件失败! "); getchar();