C语言 航班管理程序系统.docx
- 文档编号:6264950
- 上传时间:2023-01-04
- 格式:DOCX
- 页数:17
- 大小:20.23KB
C语言 航班管理程序系统.docx
《C语言 航班管理程序系统.docx》由会员分享,可在线阅读,更多相关《C语言 航班管理程序系统.docx(17页珍藏版)》请在冰豆网上搜索。
C语言航班管理程序系统
C语言航班管理程序系统
————————————————————————————————作者:
————————————————————————————————日期:
//—-——--———---—-----——-航班管理程序系统—-——-————-—-—-—--——--//
#include〈stdio.h>
#include〈stdlib。
h>
#include〈string.h〉
#include
#defineN20
voidwelcome();//定义一个欢迎界面函数//
voidentrance();//定义一个进入界面//
voidscore();//定义一个记录查询函数//
voidadd();//定义一个添加航班的函数//
voidcut();//定义一个删除航班的函数//
voidsell();//定义一个售出航班的函数//
voidconsult();//定义一个按要求查询的函数//
voidcompos();//定义一个按航班号排序的函数//
voidback();//定义一个返回函数//
voidread();//定义一个读入函数//
voidsave();//定义一个保存函数//
intall=10;
intans;
typedefstructflight
{
charflightNum[N];//航班号//
charsetPlace[N];//出发地//
chardestPlace[N];//目的地//
intAmount;//数量//
charairCompany[N];//航空公司//
charsetTime[N];//出发时间//
chararrTime[N];//到达时间//
}ft;
structflightfli[50]={
{"A1001",”北京”,”大连",1000,”北京航空公司”,”8:
00”,"8:
45"},
{”A1002”,"上海”,"太原",2000,”春秋航空公司","4:
00","5:
00”},
{"A1003",”沈阳",”长沙",2500,"东北航空公司",”10:
00”,"13:
30"},
{”A1014”,"石家庄”,"贵阳”,3000,"河北航空公司”,”15:
00”,"17:
40”},
{"A1005",”长春”,”广州",4500,”长春航空公司",”14:
20”,"16:
10”},
{"B1006”,"郑州”,"武汉",5000,”新郑航空公司”,"19:
30","20:
10"},
{"B1007”,”重庆","昆明",6000,”重庆航空公司",”18:
00”,”19:
10”},
{”B1008”,”厦门”,"兰州”,7000,”厦门航空公司”,”6:
40",”8:
20"},
{”B1009”,”深圳”,"黑龙江”,8000,"深圳航空公司",”21:
00”,”23:
50”},
{”B1010",”海南”,"台北",8500,”海南航空公司”,"2:
00”,"2:
30”}
};
main()
{
welcome();//进入首界面//
}
//———-—-——-—--—-—-———--首界面--———————--—---——-——-//
voidwelcome()
{
system("cls”);
printf(”-----—--—-—-——-———---—---——-—--—-—---—\n");
printf("欢迎进入航班管理程序系统\n”);
printf("——-——————----—--—--—————-—-——---—————-\n");
printf("请选择业务:
\n”);
printf("1。
查看所有记录显示\n");
printf("2.添加航班号\n");
printf(”3.删除航班号\n");
printf("4.航班售出\n");
printf(”5。
查询航班号\n");
printf("6.按航班号排序\n");
printf("7。
读入\n”);
printf("8。
保存\n");
printf(”0.退出\n");
printf("请选择:
");
entrance();
}
//-—-———--—----——-—--—-进入————--————---—--—---—//
voidentrance()
{
fflush(stdin);//清空输入缓冲区,通常是为了确保不影响后面的数据读取//
scanf("%d",&ans);
switch(ans)
{
case1:
//进入记录显示//
printf(”\n");
printf(”——---—-———----—--—-—-—--—————记录显示--—---————-—--—-—————-—-—-—--\n");
printf(”\n”);
score();
break;
case2:
//进入航班添加//
printf("\n”);
printf(”-—------———-—————---————-——--添加航班--—-——--———--—————-———--—-—-—\n”);
printf("\n");
add();
break;
case3:
//进入航班删除//
printf(”\n”);
printf("-—---—--—--—-———--—-----———--删除航班—-——-——-————-—--——---—--—--——\n");
printf(”\n”);
cut();
break;
case4:
//进入航班售出//
printf(”\n");
printf(”—--—————---—-—--—-———--—-——--航班售出—-----—--———-——--—----—-----—\n");
printf(”\n");
sell();
break;
case5:
//进入查询航班//
printf("\n");
printf(”----———--——---—--——-—--—-————查询航班-—--—————-—-———--—---—-—-—---\n”);
printf(”\n”);
consult();
break;
case6:
//按航班号排序//
printf("\n");
printf("-——————--——-———--————-———-—--航班号排序—-————-——-—----—-——————-—-—-\n");
printf(”\n");
compos();
break;
case7:
//读入//
printf(”\n");
read();
break;
case8:
//保存//
printf(”\n");
save();
break;
case0:
//退出//
break;
default:
printf(”输入有误!
\n”);
welcome();
break;
}
}
//-—---—--—-———-——---——记录查询———-—-——-—————-----——//
voidscore()
{
inti;
charans=’’;
{
printf("航班号\t出发地\t目的地\t数量\t航空公司\t出发\t到达时间\n”);
for(i=0;i〈all;i++)
{
if(strcmp(fli[i].flightNum,”")!
=0)
{
printf("%s\t%s\t%s\t%d\t%s\t%s\t%s\n”,fli[i].flightNum,fli[i]。
setPlace,fli[i].destPlace,fli[i].Amount,fli[i]。
airCompany,fli[i].setTime,fli[i]。
arrTime);
}
}
}
back();
}
//———-—----—-——-----——-添加航班--———---——-——-—-——--—//
voidadd()
{
inti;
charans;
structflight*p;
p=fli;
fflush(stdin);
{
for(i=0;i〈all;i++)
{
p++;
}
printf(”请输入第%d个航班的信息:
\n",all+1);
printf(”航班号:
”);
scanf(”%s”,p-〉flightNum);
printf("出发地:
");
scanf("%s”,p—〉setPlace);
printf(”目的地:
”);
scanf("%s",p->destPlace);
printf(”数量:
");
scanf("%d”,&p—〉Amount);
printf(”航空公司:
");
scanf("%s”,p->airCompany);
printf(”出发时间:
");
scanf(”%s",p->setTime);
printf(”到达时间:
");
scanf(”%s",p—>arrTime);
all++;
printf(”添加成功!
\n”);
printf(”是否继续添加?
(Y/N)\n");
fflush(stdin);
scanf("%c”,&ans);
if(ans=='y’||ans=='Y’)
add();
elseif(ans=='n’||ans==’N')
back();
}
}
//-—--——-———-——-—---—-—删除航班—---—-—----——-—-——-——//
voidcut()
{
inti,j=-1;
intk=0;
charnum[N];
charans;
for(i=0;i〈all;i++)
{
if(strcmp(fli[i].flightNum,”")!
=0)
{
printf(”%s\t%s\t%s\t%d\t%s\t%s\t%s\n”,fli[i].flightNum,fli[i].setPlace,fli[i].destPlace,fli[i].Amount,fli[i].airCompany,fli[i].setTime,fli[i]。
arrTime);
}
}
printf(”请输入航班号:
");
scanf("%s”,num);
for(i=0;i〈all;i++)
{
if(strcmp(fli[i].flightNum,num)==0)
{
j=i;
break;
}
}
printf(”\n”);
if(i==all)
{
printf(”对不起,没有您要删除的航班!
\n”);
cut();
}
fflush(stdin);
printf("\n航班号\t出发地\t目的地\t数量\t航空公司\t出发时间\t到达时间\n");
for(;j〈all;j++)
{
strcpy(fli[j]。
flightNum,fli[j+1].flightNum);
strcpy(fli[j].setPlace,fli[j+1]。
setPlace);
strcpy(fli[j].destPlace,fli[j+1].destPlace);
strcpy(fli[j]。
airCompany,fli[j+1].airCompany);
strcpy(fli[j].setTime,fli[j+1].setTime);
strcpy(fli[j].arrTime,fli[j+1].arrTime);
fli[i]。
Amount=fli[j+1]。
Amount;
}
all--;
printf("删除成功!
\n");
for(i=0;i { if(strcmp(fli[i]。 flightNum,"")! =0) { printf("%s\t%s\t%s\t%d\t%s\t%s\t%s\n",fli[i].flightNum,fli[i].setPlace,fli[i].destPlace,fli[i].Amount,fli[i].airCompany,fli[i]。 setTime,fli[i].arrTime); } } printf(”是否继续删除? (Y/N)"); fflush(stdin); scanf(”%c",&ans); if(ans=='Y’||ans=='y’) cut(); elseif(ans==’N'||ans==’n’) back(); } //———-—--------—--—----航班售出—-——-—---—-—--—--—--—// voidsell() { charnum[N]; charans; inti; intleft; intamo; fflush(stdin); printf("请输入航班号: ”); scanf(”%s”,&num); for(i=0;i〈all;i++) { if(strcmp(num,fli[i]。 flightNum)==0) { printf(”请输入需要的数量: ”); scanf("%d",&amo); left=fli[i].Amount-amo; if(left〉=0) { printf(”\n”); printf(”\n航班号\t出发地\t目的地\t剩余\t航空公司\t出发时间\t到达时间\n”); printf(”%s\t%s\t%s\t%d\t%s\t%s\t%s\n”,fli[i]。 flightNum,fli[i]。 setPlace,fli[i]。 destPlace,left,fli[i].airCompany,fli[i]。 setTime,fli[i].arrTime); break; } else { printf(”对不起,您需要的数量不足,请重新输入。 \n"); sell(); } } } if(i==all) { printf(”对不起,暂时没有您需要的航班! \n"); sell(); } fli[i]。 Amount=left; printf("\n"); printf(”是否继续? (Y/N): "); fflush(stdin); scanf(”%c”,&ans); if(ans=='Y’||ans=='y’) sell(); else back(); } //---—-—-—-—-——-—---———按要求查询-——-—---—-—-——-—————-// voidconsult() { inta,i; charnum[N]; charpla[N]; charari[N]; chart=’’; structflight*p; p=fli; printf(”您可以: \n"); printf("1。 按航班号查询\n"); printf(”2.按出发地查询\n"); printf(”3.按目的地查询\n”); printf(”请选择: "); scanf("%d”,&a); switch(a) { case1: printf("请输入航班号: "); scanf(”%s",num); printf("\n航班号\t出发地\t目的地\t数量\t航空公司\t出发\t到达时间\n”); for(i=0;i〈all;i++) { if(strcmp(num,fli[i]。 flightNum)==0) { printf("%s\t%s\t%s\t%d\t%s\t%s\t%s\t\n",fli[i]。 flightNum,fli[i].setPlace,fli[i].destPlace,fli[i].Amount,fli[i]。 airCompany,fli[i]。 setTime,fli[i]。 arrTime); break; } } if(i==all) { printf(”没有找到! \n"); } break; case2: printf(”请输入出发地: ”); scanf("%s”,pla); printf(”\n航班号\t出发地\t目的地\t数量\t航空公司\t出发\t到达时间\n"); for(i=0;i〈all;i++) { if(strcmp(pla,fli[i].setPlace)==0) { printf("%s\t%s\t%s\t%d\t%s\t%s\t%s\n”,fli[i].flightNum,fli[i].setPlace,fli[i].destPlace,fli[i]。 Amount,fli[i]。 airCompany,fli[i]。 setTime,fli[i]。 arrTime); break; } } if(i==all) { printf(”没有找到! \n"); } back(); break; case3: printf(”请输入目的地: "); scanf("%s",ari); printf(”\n航班号\t出发地\t目的地\t数量\t航空公司\t出发\t到达时间\n”); for(i=0;i { if(strcmp(ari,fli[i].destPlace)==0) { printf(”%s\t%s\t%s\t%d\t%s\t%s\t%s\n”,fli[i].flightNum,fli[i].setPlace,fli[i]。 destPlace,fli[i]。 Amount,fli[i].airCompany,fli[i].setTime,fli[i]。 arrTime); break; } } if(i==all) { printf("没有找到! \n"); } back(); break; default: consult(); break; } back(); } //—--—-———-——---——-——--按航班号排序—-——---————-——---—---// voidcompos() { inti; intk; structflightft; for(k=0;k { for(i=0;i〈all—1;i++) { if(strcmp(fli[i]。 flightNum,fli[i+1]。 flightNum)〉0) { ft=fli[i]; fli[i]=fli[i+1]; fli[i+1]=ft; } } } printf("航班号\t出发地\t目的地\t数量\t航空公司\t出发\t到达时间\n”); for(i=0;i〈all;i++) { printf("%s\t%s\t%s\t%d\t%s\t%s\t%s",fli[i]。 flightNum,fli[i].setPlace,fli[i].destPlace,fli[i]。 Amount,fli[i]。 airCompany,fli[i].setTime,fli[i]。 arrTime); printf(”\n"); } back(); } //--——--—-———-—-——-———-返回——--———-—--—-—----——-// voidback() { printf("\n按任意键返回主界面: "); fflush(stdin); getch(); welcome(); } //--—---———-——-----—--—读入—---———--—-—---————-—// voidread() { FILE*fp; inti; charfilepath[N]; printf(”请输入要读入的文件路径: "); fflush(stdin); gets(filepath); if((fp=fopen(filepath,"r”))==NULL) { printf(”找不到%s文件! \n”,filepath); read(); } all=0; for(i=0;i feof(fp);i++) { fscanf(fp,”%s\t%s\t%s\t%d\t%s\t%s\t%s”,fli[i].flightNum,fli[i]。 setPlace,fli[i].destPlace,&fli[i].Amount,fli[i]。 airCompany,fli[i]。 setTime,fli[i]。 arrTime); all++; } fclose(fp); printf("保存在文件%s中的所有信息已经读入。 \n”,filepath); back(); } //--—-—-—-—--———-—————-保存----—---—-——————--———// voidsave(ft*flight,int*all) { FILE*fp; inti=0; fp=fopen(”1。 txt",”w+"); if(fp==NULL) { printf(”无法成功打开文件! \n”); exit(0); } while(i<*all) { fprintf(fp,”%s\t%s\t%s\t%d\t%s\t%s\t%s”,fli[i].flightNum,fli[i].setPlace,fli[i]。 destPlace,fli[i].Amount,fli[i].airCompany,fli[i]。 setTime,fli[i].arrTime); i++; } printf(”在文件中的所有信息已经保存! \n"); fclose(fp); back(); }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言 航班管理程序系统 语言 航班 管理程序 系统