您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 商业计划书 > C语言机票订票管理系统源代码
#includestdio.h//标准输入、输出头文件#includestring.h//包含字符串函数处理头文件#includeprocess.h//包含access函数的头文件#includeio.h#includestdlib.h#includewindows.h#includeconio.h#defineN9999//定义最多的航班数#definePRINT%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//宏定义输出格式structair//定义结构体数组{intnum;//定义航班号charstart[20];//航班起始站charover[20];//终点站chartime[10];//飞行时间intcount;//机票数量}s[N];inti,a,m=0;//定义全局变量charii[10];voidadd();//函数声明增加航班信息函数voidprint();//显示航班信息voidsearch();//查找航班信息voiddingpiao();//订票业务voidtuipiao();//退票voidread();//读取文件voidsave();//保存文件voidoutput();//输出格式voidpaixu();//航班排序voidchushihua();//系统初始化voidbuild();//建立数据文件voidpaixu1();//按航班号从小到大排序voidpaixu2();//从大到小inthead();//进入订票系统intmain()//主函数{intj;system(colorb0);chushihua();//系统初始化判断是否存在原始数据文件system(cls);head();//打印出系统主界面system(cls);do{printf(================================================================================);printf(1.增加航班信息\n\t2.浏览航班信息\n\t\t3.查找航班信息(按航班号)\t\t\n\t\t\t4.航班排序(按航班号)\n\t\t\t\t5.订票业务\n\t\t\t\t\t6.退票业务\n\t\t\t\t\t\t0.退出\n);printf(================================================================================);printf(请在0-6中选择以回车键结束:);scanf(%d,&j);switch(j){case1:add();system(cls);//调用增加航班函数break;case2:print();system(cls);//调用显示模块break;case3:search();system(cls);//调用查找模块break;case4:paixu();system(cls);//调用排序函数break;case5:dingpiao();system(cls);//调用订票模块break;case6:tuipiao();system(cls);//调用退票模块break;case0://退出系统save();system(cls);printf(\n\n\n\t\t\t\t\n\n\t谢谢使用,再见!);printf(\n\n\n\n\n\n\n\n\n\n\n\n\n);break;}}while(j!=0);//判断是否调用其他函数}voidchushihua()//定义系统初始化函数{if(access(hangban.dat,0)){build();}elseread();}voidbuild()//定义建立数据文件函数{FILE*fp;//定义文件指针if((fp=fopen(hangban.dat,wb))==NULL)//打开文件并判定是否出错{printf(创建文件失败!);//打印出错提示getchar();return;}printf(请依次输入航班信息(以回车键结束):\n);//打印提示信息printf(--------------------------------------------------------------------------\n);for(i=0;iN;i++){printf(请输入航班号:);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(structair),1,fp);m++;printf(添加完毕,是否继续添加?请键入y或n以回车键结束:);scanf(%s,ii);if(strcmp(ii,y)!=0)//判断是否继续添加航班信息{fclose(fp);//关闭文件return;}}}voidread()//定义读取文件函数{FILE*fp;if((fp=fopen(hangban.dat,r))==NULL){printf(创建文件失败!);getchar();return;}i=0;while(!feof(fp)){fread(&s[i],sizeof(structair),1,fp);//逐块读取数据i++;m++;//计算存在航班数}m--;fclose(fp);printf(请稍候,正在初始化);for(a=0;a3;a++){printf(.);Sleep(600);}printf(\n);}voidsave()//定义保存函数{FILE*fp;if((fp=fopen(hangban.dat,wb))==NULL){printf(创建文件失败!);getchar();return;}for(i=0;im;i++)//逐块保存数据fwrite(&s[i],sizeof(structair),1,fp);fclose(fp);printf(正在保存数据并退出);for(a=0;a3;a++){printf(.);Sleep(600);}printf(\n);printf(\n);}voidadd()//定义增加航班信息函数{do{printf(请依次输入您要增加的航班信息(以回车键结束):\n);//打印提示信息printf(--------------------------------------------------------------------------\n);printf(请输入航班号:);scanf(%d,&s[m].num);//读取航班号printf(请输入起始站:);scanf(%s,s[m].start);//读取起始站printf(请输入终点站:);scanf(%s,s[m].over);//读取终点站printf(请输入时间(星期几):);scanf(%s,s[m].time);//读取时间printf(请输入机票数:);scanf(%d,&s[m].count);//读取机票数m++;printf(添加完毕,是否继续添加?请键入y或n以回车键结束:);scanf(%s,ii);}while(!strcmp(ii,y));//判断是否继续添加printf(正在保存,请稍候);for(a=0;a5;a++){printf(.);Sleep(600);}printf(\n);}voidoutput()//定义输出格式函数{printf(航班号\t\t起始站\t\t终点站\t\t时间\t\t机票数\n);//信息标题for(i=0;im;i++)printf(PRINT);//打印出信息}voidprint()//定义显示航班信息函数{printf(正在加载,请稍候);for(a=0;a5;a++){printf(.);Sleep(400);}printf(\n);system(cls);printf(\n目前我们有如下航班:\n\n);output();//调用输出格式函数printf(\n请按回车键返回上层菜单);getchar();getchar();}voidsearch()//定义查询函数{intn;do{printf(\n请输入航班号:);scanf(%d,&n);//输入查询的航班号printf(正在查询);for(a=0;a5;a++){printf(.);Sleep(400);}printf(\n);for(i=0;im;i++){if(s[i].num==n)//按航班号判定输出条件{printf(\n您所查找的航班信息为:\n);printf(航班号\t\t起始站\t\t终点站\t\t时间\t\t机票数\n\n);printf(PRINT);//显示信息printf(\n查询完毕,按回车键继续);getchar();getchar();return;}}printf(\n对不起,没有您需要的信息!\n);printf(是否重新查找?请键入y或n以回车键结束);scanf(%s,ii);}while(!strcmp(ii,y));//判定是否重新查找}voiddingpiao()//定义订票业务函数{intn,x;chara[10]=y;do{search();//调用查询模块if(!strcmp(ii,n)){printf(对不起!没有找到您所需要的航班,所以不能订票。\n);//未查找到所需航班printf(\n请按回车键返回上层菜单);getchar();getchar();strcpy(ii,n);break;}do{printf(请输入您要订的机票数(以回车键结束):);scanf(%d,&n);//输入所订机票数printf(请稍候,正在订票);for(x=0;x3;x++){printf(.);Sleep(600);}printf(\n);if(n=0)//判定机票数是否出错{printf(输入错误!至少需订1张机票。\n);}elseif(s[i].count==0)//判定机票是否售完{printf(对不起,你所选择的航班的机票已售完!\n);break;}elseif(s[i].count!=0&&s[i].count=n)//判定机票数是否大于等于订票数{s[i].count=s[i].count-n;printf(订票成功!);break;}elseif(s[i].countn)//判定机票数是否小于订票数{printf(对不起,你所选择的航班只剩%d张机票\n,s[i].count);printf(是否需要重新输入机票数?\n请输入y或n以回车键结束:);//判定是否重新输入订票数scanf(%s,a);printf(请稍候,正在订票);for(x=0;x3;x++){printf(.);Sleep(600);}printf(\n);}}while(!strcmp(a,y));printf(是否需要订其他航班的机票?\n请输入y或n以回车键结束:);scanf(%s,a);}while(!strcmp(a,y));//判定是否继续订票}voidtuipiao()//定义退票函数{intn,x;chara[10];do{search();//调用查询函数if(!strcmp(ii,n)){printf(对不起!没有找到您所需要的航班,所以不能退票。\n);printf(\n请按回车键返回上层菜单);getchar();getchar
本文标题:C语言机票订票管理系统源代码
链接地址:https://www.777doc.com/doc-4901474 .html