c语言航班管理系统代码.docx
《c语言航班管理系统代码.docx》由会员分享,可在线阅读,更多相关《c语言航班管理系统代码.docx(10页珍藏版)》请在冰豆网上搜索。
c语言航班管理系统代码
c语言航班管理系统代码
#include
#include
#include
#define N 10000
struct air
{
int num;
char start[20];
char over[20];
char time[10];
int count;
}s[N];
int i;
int m=0;
#define PRINT "%-dsssd\n",s.num,s.start,s.over,s.time,s.count
void input();
void print();
void save();
void read();
void search();
void shanchu();
void dingpiao();
void tuipiao();
void xiugai();
void main()
{
int j;
printf(" ★---您好,欢迎进入中国民航管理系统!
---★\n");
printf
("================================================================================\n");
do
{
printf(" -------- ☆ 1.输入航班信息 ☆-------- \n\n"
" -------- ☆ 2.浏览航班信息 ☆-------- \n\n"
" -------- ☆ 3.修改航班信息 ☆-------- \n\n"
" -------- ☆ 4.查找航班信息 ☆-------- \n\n"
" -------- ☆ 5.删除航班信息 ☆-------- \n\n"
" -------- ☆ 6.订票信息 ☆-------- \n\n"
" -------- ☆ 7.退票信息 ☆-------- \n\n"
" -------- ☆ 0.退出 ☆-------- \n\n");
printf
("================================================================================\n");
printf("请在0-7中选择以回车键结束:
\n\n");
scanf("%d",&j);
switch(j)
{
case 1:
input();
break;
case 2:
print();
break;
case 3:
xiugai();
break;
case 4:
search();
break;
case 5:
shanchu();
break;
case 6:
dingpiao();
break;
case 7:
tuipiao();
break;
case 0:
;
break;
}
}while(j!
=0);
printf("谢谢使用,再见!
\n");
}
void input()
{
char f[]="2008china";
int y;
printf("请输入密码并以回车键结束:
\n\n");
scanf("%s",f);
if(strcmp(f,"2008china")==0)
{
printf("请依次输入航班信息(机票数位0结束输入):
\n\n"
"完成输入信息请键入w以回车键结束\n\n");
printf("--------------------------------------------------------------------------\n");
for(i=0;i {
printf("请输入航班号:
\n");
scanf("%d",&s.num);
printf("请输入起始站:
\n");
scanf("%s",s.start);
printf("请输入终点站:
\n");
scanf("%s",s.over);
printf("请输入时间:
\n");
scanf("%s",s.time);
printf("请输入机票数:
\n",m);
scanf("%d",&s.count);
m ;
printf("第%d个信息已经输完是否继续?
按任意键继续,按 0结束",m);
scanf("%d",&y);
if(y==0)
{
save();
print();
break;
}
}
}
else
printf("输入密码错误!
请检查您的密码是否正确!
谢谢!
再见!
\n\n");
}
void save()
{
FILE *fp,*fp1;
if((fp=fopen("chen.dat","wb"))==NULL)
{
printf("创建文件失败!
\n\n");
getchar();
return;
}
if((fp1=fopen("hao.dat","wb"))==NULL)
{
printf("创建文件失败!
\n\n");
getchar();
return;
}
for(i=0;i if(fwrite(&s,sizeof(struct air),1,fp)==0)
printf("向文件输入数据失败!
\n\n");
(0)
∙回复
∙1楼
∙2006-07-2822:
28
∙举报 |个人企业举报垃圾信息举报
∙
∙
∙60.20.134.*
∙
fprintf(fp1,"%d",m);
fclose(fp);
fclose(fp1);
}
void read()
{
FILE *fp,*fp1;
if((fp=fopen("chen.dat","rb"))==NULL)
{
printf("出错,请检查文件是否存在,按任意键返回住菜单");
getchar();
}
if((fp1=fopen("hao.dat","rb"))==NULL)
{
printf("创建文件失败!
\n\n");
getchar();
return;
}
fscanf(fp1,"%d",&m);
fclose(fp1);
for(i=0;i{
fread(&s,sizeof(air),1,fp);
}
fclose(fp);
}
void print()
{
char w[10];
read();
printf("航班号 起始站 终点站 时间 机票数\n");
for(i=0;i{
printf(PRINT);
}
printf("请按任意键回车键结束返回上层菜单以:
\n");
scanf("%s",w);
}
void search()
{
char name1[20];
char name2[20];
char ii[10];
int n,no;
do
{
printf("请选择查找方式:
\n\n");
printf("1.按航班号查找\n\n"
"2.按终点站查找\n\n"
"3.按航线查找\n\n"
"0.返回\n\n");
printf("请在0-3中选择:
\n\n"
"按其他键以回车键结束返回主菜单:
\n\n");
scanf("%d",&n);
if(n==0)
break;
switch(n)
{
case 1:
printf("请输入航班号:
\n");
scanf("%d",&no);
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=0;i{
if(strcmp(s.over,name1)==0||strcmp(s.over,name2)==0)
{
printf("\n查找航班信息成功!
\n");
printf("航班号 起始站 终点站 时间 机票数\n");
printf(PRINT);
break;
}
if(s.num==no)
{
printf("\n查找航班信息成功!
\n");
printf("航班号 起始站 终点站 时间 机票数\n");
printf(PRINT);
break;
}
}
no=0;//将航班号赋值为0
printf("没有您需要的信息或查找完毕:
\n\n"
"是否继续查找?
请键入yes或no以回车键结束\n");
scanf("%s",ii);
}while(strcmp(ii,"yes")==0);
}
void shanchu()
{
char name1[20];
char name2[20];
char ii[10];
char f[]="2008china";
int no,n;
printf("请输入密码并以回车键结束:
\n\n");
scanf("%s",f);//读取密码
if(strcmp(f,"2008china")==0)
{
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)
{
case 1:
printf("请输入航班号:
\n");
scanf("%d",&no);
read();
break;
case 2:
printf("请输入起始站 名称:
\n");
scanf("%s",name1);
printf("请输入终点站名称:
\n");
scanf("%s",name2);
read();
break;
}
for(i=0;i {
if(s.num==no||strcmp(s.start,name1)==0&&strcmp(s.over,name2)==0)
{
s=s[m-1];
m--;
}
}
printf("查找完毕或没有这个信息\n\n");
printf("是否继续删除\n");
printf("请键入yes或no以回车键结束\n");
scanf("%s",ii);
save(); //调用读取函数
if(!
strcmp(ii,"yes")) /
printf("请按任意键以回车键结束返回上层菜单:
\n");
break;
}while(n!
=1&&n!
=2&&n!
=3&&n!
=4&&n!
=0);
回复
∙2楼
∙2006-07-2822:
28
∙举报 |个人企业举报垃圾信息举报
∙
∙
∙60.20.134.*
∙
}
else
printf("对不起密码错误!
您不是管理员,不能使用此项功能!
谢谢!
再见!
\n\n");
}
void dingpiao()
{
int n;
char a[10];
do
{
search();
printf("请输入您要订的机票数以回车键结束:
\n");
scanf("%d",&n);
if(n<0)
{
printf("请输入有效的机票数!
\n");
break;
}
if(s.count!
=0&&s.count>=n)
{
s.count=s.count-n;
save();
printf("订票成功!
\n\n");
break;
}
if(s.count {
printf("请输入有效的机票数:
\n");
break;
}
printf("是否继续?
请输入yes或no以回车键结束:
\n");//判断是否继续订票
scanf("%s",a);
}while(!
strcmp(a,"yes"));
}
void tuipiao()
{
int n;
char a[10];
do
{
search();
printf("请输入您要退的机票数目:
\n");
scanf("%d",&n);
if(n<0)
printf("请输入有效的机票数!
\n");
s.count=s.count n;
save();
printf("退票成功!
\n\n");
printf("是否继续?
请键入yes或no以回车键结束:
\n\n");
scanf("%s",a);
}while(!
strcmp(a,"yes"));
getchar();
}
void xiugai()
{
struct xiu
{
int no;
char name1[20];
char name2[20];
char time[20];
int count;
}x[1];
char j[10];
char f[]="2008china";
int n;
printf("请输入密码并以回车键结束:
\n\n");
scanf("%s",f);
if(strcmp(f,"2008china")==0)
{
read();/
do
{
printf( "请选择修改方式:
\n\n"
"*1,按航班号修改:
\n\n"
"*2,按航线修改:
\n\n");
printf("请在1---2中修改以回车键结束:
\n\n");
scanf("%d",&n);
switch(n)
{
case 1:
printf("请输入航班号:
\n");
scanf("%d",&x[0].no);
break;
case 2:
printf("请输入起始站:
\n");
scanf("%s",x[0].name1);
printf("请输入终点站:
\n");
scanf("%s",x[0].name2);
break;
}
for(i=0;i {
if(strcmp(s.over,x[0].name1)==0&&strcmp(s.over,x[0].name2)==0)
{
printf("航班号 起始站 终点站 时间 机票数\n");
printf(PRINT);
break;
}
if(s.num==x[0].no)
{
printf("航班号 起始站 终点站 时间 机票数\n");
printf(PRINT);
break;
}
}
x[0].no=0;
printf("请输入新航班号、起始站、终点站、时间(星期几)、机票数:
\n");
scanf("%d%s%s%s%d",&x[0].no,x[0].name1,x[0].name2,x[0].time,&x[0].count);
s.num=x[0].no;
strcpy(s.start,x[0].name1);
strcpy(s.over,x[0].name2);
strcpy(s.time,x[0].time);
s.count=x[0].count;
save();
printf("是否继续?
请键入yes或no以回车键结束:
\n\n");
scanf("%s",j);
}while(strcmp(j,"yes")==0);
}
else
printf("对不起密码错误!
您不是管理员,不能使用此项功能!
谢谢!
再见!
\n\n");
}
struct air
{
intnum;
char start[20];
char over[20];
char time[10];
int count;
}
s[N];