C语言航班管理程序标准系统.docx
- 文档编号:25413875
- 上传时间:2023-06-08
- 格式:DOCX
- 页数:19
- 大小:17.59KB
C语言航班管理程序标准系统.docx
《C语言航班管理程序标准系统.docx》由会员分享,可在线阅读,更多相关《C语言航班管理程序标准系统.docx(19页珍藏版)》请在冰豆网上搜索。
C语言航班管理程序标准系统
//---------------------航班管理程序系统---------------------//
#include
#include
#include
#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 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 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 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 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 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 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 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 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 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 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 k++) { for(i=0。 i 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 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文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 航班 管理程序 标准 系统