民航订票系统.docx
- 文档编号:25254367
- 上传时间:2023-06-06
- 格式:DOCX
- 页数:22
- 大小:18.81KB
民航订票系统.docx
《民航订票系统.docx》由会员分享,可在线阅读,更多相关《民航订票系统.docx(22页珍藏版)》请在冰豆网上搜索。
民航订票系统
#include
#include
#include
#include
#include
#defineuintunsignedint
#defineMIMA"12345"//初始密码为“12345”
#defineN100
#defineXIANSHI"%-9s%9s%11s%20s%10d%15.2f\n",air[i].num,air[i].qi,air[i].zhong,air[i].shijian,air[i].count,air[i].price
voiddelay(uintz)//延时函数
{
uintx,y;
for(x=z;x>0;x--)
for(y=11000;y>0;y--);
}
structair//定义结构体
{charnum[10];
charqi[10];
charzhong[10];
charshijian[30];
intcount;
floatprice;
}air[N];
intm=0;
chari;
voidinput();//录入航班信息
voidprint();//显示航班信息
voidsave();//保存航班信息
voidread();//读取航班信息
voidsearch();//查询航班信息
voidshanchu();//删除航班信息
voiddingpiao();//订票信息
voidtuipiao();//退票信息
voidxiugai();//修改信息
voidtuichu();
voidmain()//主函数
{
chari;
printf("\n\n\n\n\n\n\n\n\n\n");
printf("\n\t***************欢迎来到民航订票管理系统***************\n");
delay(25000);
system("cls");
printf("\n\t***************欢迎来到民航订票管理系统***************\n");
printf("\n\n\n\n\n\n\n\n");
printf("\t\t\t**************************\n");
printf("\t\t\t**\n");
printf("\t\t\t*主菜单*\n");
printf("\t\t\t**\n");
printf("\t\t\t**管理员请按1进入系统*\n");
printf("\t\t\t**游客请按2进入系统*\n");
printf("\t\t\t**退出请按0*\n");
printf("\n\n\n请在0-2间选择:
");
i=getch();
if('0'>i||i>'2')
{printf("输入数字出错,请重新登录!
\n");return;}
switch(i)
{
case'1':
gotof1;break;
case'2':
gotof2;break;
case'0':
tuichu();return;
}
f1:
{charc[100];
inti,a;
system("cls");
printf("\n\n\n\n\n\n\n\n\n\n");
printf("\n\t***************您好,管理员!
请您输入密码!
***************\n");
for(i=1;i<=3;i++)
{
printf("\n第%d次输入密码(共有3次机会):
",i);
gets(c);
a=strcmp(c,MIMA);
if(a==0)break;
else
{printf("**********密码错误***********\n");
delay(2500);}
}
if(a==0)
{system("cls");
printf("\n\n\n\t\t*******************密码正确***********************\n");
delay(15000);
gotol1;
}
else
{
printf("3次输入密码皆错,按任一键退出本系统\n");
getch();
exit
(1);
}
l1:
system("cls");
printf("\n\n\n\t\t***************您好,管理员****************\n");
printf("\n\t\t***************欢迎来到民航订票管理系统***************\n");
printf("\n\n\n");
printf("\t\t\t**************************\n");
printf("\t\t\t**\n");
printf("\t\t\t*主菜单*\n");
printf("\t\t\t**\n");
printf("\t\t\t**录入航班请按1*\n");
printf("\t\t\t**删除航班请按2*\n");
printf("\t\t\t**修改航班请按3*\n");
printf("\t\t\t**查看航班请按4*\n");
printf("\t\t\t**退出请按0*\n");
printf("\n\n\n请在0-4间选择:
");
i=getch();
if('0'>i||i>'4')
{printf("输入数字出错,请重新输入!
\n");
delay(15000);
gotol1;}
switch(i)
{
case'1':
input();break;
case'2':
shanchu();break;
case'3':
xiugai();break;
case'4':
print();break;
case'0':
tuichu();return;
}
gotol1;
}
f2:
{chari;
system("cls");
printf("\n\t\t\t***************您好,游客****************\n\n\n\n");
printf("\n\t***************欢迎来到民航订票管理系统***************\n");
printf("\n\n\n\n");
printf("\t\t\t**************************\n");
printf("\t\t\t**\n");
printf("\t\t\t*主菜单*\n");
printf("\t\t\t**\n");
printf("\t\t\t**订票请按1*\n");
printf("\t\t\t**查询请按2*\n");
printf("\t\t\t**退票请按3*\n");
printf("\t\t\t**查看请按4*\n");
printf("\t\t\t**退出请按0*\n");
printf("\n\n\n请在0-4间选择:
");
i=getch();
if('0''4')
{printf("输入数字出错,请重新输入!
\n");
delay(10000);
gotof2;}
switch(i)
{
case'1':
dingpiao();break;
case'2':
search();break;
case'3':
tuipiao();break;
case'4':
print();break;
case'0':
tuichu();return;
}
gotof2;
}
}
voidtuichu()//退出模块
{system("cls");
printf("\n\n\n\n\n\n\n\n\n\n");
printf("\t\t\t");
printf("欢");
delay(2000);
printf("迎");
delay(2000);
printf("再");
delay(2000);
printf("次");
delay(2000);
printf("使");
delay(2000);
printf("用");
delay(2000);
printf("!
");
printf("\n\n\n\n");
printf("\t\t\t按任意键结束\n");
}
voidsave()//保存信息模块
{
FILE*fp,*fp1;//定义文件指针
if((fp=fopen("xinxi.dat","wb"))==NULL)//打开文件并判断是否出错
{
printf("创建文件失败!
按任意键返回\n\n");//打印出错提示
getch();
return;
}
if((fp1=fopen("xinxishu.dat","wb"))==NULL)//打开文件并判断是否出错
{
printf("创建文件失败!
按任意键返回\n\n");//打印出错提示
getch();
return;
}
for(i=0;i if(fwrite(&air[i],sizeof(structair),1,fp)==0)//向文件写入数据,并判断是否出错 printf("向文件输入数据失败! \n\n"); fprintf(fp1,"%d",m); fclose(fp);//关闭文件 fclose(fp1);//关闭文件 } voidread()//从文件读取信息模块 { FILE*fp,*fp1; if((fp=fopen("xinxi.dat","rb"))==NULL)//打开文件,并判断是否出错 { printf("出错! 请检查文件是否存在,按任意键返回! \n");//打印出错提示 getch(); return; } if((fp1=fopen("xinxishu.dat","rb"))==NULL)//打开文件并判断是否出错 { printf("创建文件失败! 按任意键返回! \n\n");//打印出错提示 getch(); return; } fscanf(fp1,"%d",&m); fclose(fp1);//关闭文件 for(i=0;i { fread(&air[i],sizeof(structair),1,fp);//从文件中读取信息 } fclose(fp);//关闭文件 } voidinput()//录入信息模块 { intkey; system("cls"); printf("请依次输入航班信息: \n"); for(i=0;i { printf("请输入航班号(格式: 10001#): \n"); scanf("%s",air[i].num);//读取航班号 printf("请输入起始站(格式: beijing): \n"); scanf("%s",air[i].qi);//读取起始站 printf("请输入终点站(格式: beijing): \n"); scanf("%s",air[i].zhong);//读取终点站 printf("请输入时间(格式: 2008-01-01-12: 00): \n"); scanf("%s",air[i].shijian);//读取时间 printf("请输入机票库存数: \n"); scanf("%d",&air[i].count);//读取机票数 printf("请输入机票价格: \n"); scanf("%f",&air[i].price);//读取机票价格 m++; printf("第%d条机票信息已经输完! \n按数字1继续输入,按数字0结束: \t",m); scanf("%d",&key); if(key==0) { system("cls"); save();//将信息存盘 print();//输出录入的航班信息 printf("\n"); system("cls"); break; } } } voidprint()//显示信息模块 { system("cls"); read(); printf("\n-------------------------------现有航班的机票信息-----------------------------\n\n"); printf("航班号起始站终点站时间库存机票数机票价格\n"); for(i=0;i { printf(XIANSHI);//打印信息 } printf("\n请按任意键返回上层菜单....\n"); getch(); system("cls"); } voidxiugai()//修改信息模块 { charno[10]; charname1[30]; charname2[30]; chartime[30]; intcount; floatjg; chara[10]; intn,x; system("cls"); read();//调用读取模块 do { printf("请选择修改方式: \n\n" "*1,按航班号修改: \n\n" "*2,按航线修改: \n\n" "*0.返回\n\n"); printf("请在0--2中选择并以回车键结束: \n\n"); scanf("%d",&n); if(n==0) break; switch(n) { case1: printf("请输入航班号: \n"); scanf("%s",no);//读取航班号 break; case2: printf("请输入起始站: \n"); scanf("%s",name1);//读取起始站 printf("请输入终点站: \n"); scanf("%s",name2);//读取终点站 break; } for(i=0;i { if(strcmp(air[i].qi,name1)==0&&strcmp(air[i].zhong,name2)==0)//判断输出条件 { x=1; printf("航班号起始站终点站时间库存机票数机票价格\n"); printf(XIANSHI); printf("\n\n请依次输入新航班号、起始站、终点站、时间、库存机票数和机票价格: \n"); scanf("%s%s%s%s%d%f",no,name1,name2,time,&count,&jg);//定义输入格式 strcpy(air[i].num,no);//替换航班号 strcpy(air[i].qi,name1);//替换其始站 strcpy(air[i].zhong,name2);//替换终点站 strcpy(air[i].shijian,time);//替换时间 air[i].count=count;//替换机票数 air[i].price=jg;//替换机票价格 save(); break; } if(strcmp(air[i].num,no)==0)//判断输出条件 { x=2; printf("航班号起始站终点站时间库存机票数机票价格\n"); printf(XIANSHI); printf("\n\n请依次输入新航班号、起始站、终点站、时间、库存机票数和机票价格: \n"); scanf("%s%s%s%s%d%f",no,name1,name2,time,&count,&jg);//定义输入格式 strcpy(air[i].num,no);//替换航班号 strcpy(air[i].qi,name1);//替换其始站 strcpy(air[i].zhong,name2);//替换终点站 strcpy(air[i].shijian,time);//替换时间 air[i].count=count;//替换机票数 air[i].price=jg;//替换机票价格 save(); break; } } if(x==1||x==2)printf("修改已保存! \n\n"); elseprintf("\n抱歉,目前没有此航班! \n"); printf("是否继续? 请键入yes或no以回车键结束: \n\n"); scanf("%s",a); }while(strcmp(a,"yes")==0);//判断结束 } voidsearch()//查询信息模块 { charno[10]; charname1[20]; charname2[20]; chara[10]; intn,key=0; system("cls"); do { printf("请选择查找方式: \n\n");//打印查询方式菜单 printf("1.按航班号查找\n\n" "2.按终点站查找\n\n" "3.按航线查找\n\n" "0.返回\n\n"); printf("请在0-3中选择: \n"); scanf("%d",&n);//读取查找方式 system("cls"); switch(n) { case0: return; case1: printf("请输入航班号: \n"); scanf("%s",no);//航班号 break; case2: printf("请输入终点站名称: \n"); scanf("%s",name2);//读取终点站 break; case3: printf("请输入起始站名称: \n"); scanf("%s",name1);//读取起始站 printf("请输入终点站名称: \n"); scanf("%s",name2);//终点站 break; } read();//调用读取函数 for(i=0;i { if(strcmp(air[i].num,no)==0)//按航班号判断输出条件 { key=1; printf("\n查找航班信息成功! \n\n"); printf("航班号起始站终点站时间库存机票数机票价格\n"); printf(XIANSHI); break; } if(strcmp(air[i].qi,name1)==0&&strcmp(air[i].zhong,name2)==0)//按起始站终点站判断输出条件 { key=2; printf("\n\n\n"); printf("航班号起始站终点站时间库存机票数机票价格\n"); printf(XIANSHI); break; } if(strcmp(air[i].zhong,name2)==0)//按终点站判断输出条件 { key=3; printf("\n\n\n"); printf("航班号起始站终点站时间库存机票数机票价格\n"); printf(XIANSHI); break; } } if(key==1||key==2||key==3) { printf("查找完毕! \n"); key=0; } else printf("抱歉,目前没有此航班! \n\n"); printf("是否继续查找? \n请输入yes或no以回车键结束\n"); scanf("%s",a); }while(strcmp(a,"yes")==0);//判断是否结束 } voidshanchu()//删除信息模块 { charno[10]; charname1[20]; charname2[20]; chara[10]; intn,key; key=m; system("cls"); do { printf("请选择删除以方式回车键结束: \n\n");//打印删除方式菜单 printf("*1.按航班号删除\n\n" "*2.按航线删除\n\n" "*0.返回\n\n"); printf("请在0-2中选择并以回车键结束: \n"); scanf("%d",&n);//读取删除方式 if(n==0) break; switch(n) { case1: printf("请输入航班号: \n"); scanf("%s",no);//读取航班号 read();//调用读取函数 break; case2: printf("请输入起始站名称: \n"); scanf("%s",name1);//读取起始站 printf("请输入终点站名称: \n"); scanf("%s",name2);//读取终点站 read();//调用读取函数 break; } for(i=0;i
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 民航 订票 系统
![提示](https://static.bdocx.com/images/bang_tan.gif)