c语言飞机订票系统设计.docx
- 文档编号:10217920
- 上传时间:2023-02-09
- 格式:DOCX
- 页数:37
- 大小:21.24KB
c语言飞机订票系统设计.docx
《c语言飞机订票系统设计.docx》由会员分享,可在线阅读,更多相关《c语言飞机订票系统设计.docx(37页珍藏版)》请在冰豆网上搜索。
c语言飞机订票系统设计
课程设计说明书
学院、系:
专业:
学生姓名:
学号:
设计题目:
飞机订票系统设计
起迄日期:
指导教师:
日期:
2017年5月12日
1
1设计目的
(1)实现航班的设定、航班信息的浏览和航班的查询。
(2)实现乘客的飞机票的订购、退票以及所定票的查询。
2任务概述
本飞机共有80个坐位,分20排,每排4个位子。
编号为A,B,C,D。
如10D
表示10排D座。
A和D靠窗,19到20排为吸烟区。
本系统可让乘客自己选座号和区域直到乘客满
意为止,无法满足的话,只能改乘另一个航班。
定上票的乘客需给出姓名和身份证号,最后要打印出
乘客清单。
3模块划分
结构体(飞机和乘客)
菜单功能选择函数
航班设定函数
飞
按航班时间查找函数
机
航班浏览函数
订
票
按降落地点查找函数
系
统
吸烟区函数
设
乘客订票函数
计
无烟区函数
乘客退票函数
浏览乘客订票信息
保存信息
载入信息
图3-1功能模块图
4主要函数说明及其N-S图
(1)主菜单函数:
功能的选择
(2)航班设定函数:
设定航班数量、航班的起始点、航班时间
2
(3)航班浏览函数:
按时间查找浏览、按降落地点查找
(4)乘客订票函数:
乘客姓名、身份证号以及所定航班的所有信息
[1]、无烟区函数[2]、吸烟区函数
(5)乘客退票函数:
航班号、姓名和身份证号
(6)乘客信息浏览:
乘客姓名、身份证号、座位号和航班号
(7)文件保存
(8)文件载入
(9)退出
飞机订票系统N-S图
1、航班设定
输入新增航班数i
输入航班号,起飞和降落地点以及时间和最大载客量Max售票数num
图4-1航班设定N-S图
2、输入客户信息
输入飞机的P[i].ID,P[i].BePlace,P[i].EndPlace,P[i].Data,P[i].Max
图4-2输入客户信息N-S图
3、浏览航班信息
1选择查询方式2
按时间查询按降落地点查询
是和P[i].Data否是和P[i].EndPlace否
输出航班输出航班输出航班输出航班
信息信息不存在信息信息不存在
图4-3浏览航班信息N-S图
3
4、乘客订票
输入航班号P[i].ID,乘客的COS[e].name,COS[e].number,COS[e].seat
Strcmp(s.[ID],P[m].ID)m++
是charw==’y’否
beforeboookingBrowse();
是intchoose==1否
chooses();chooseNS();
是P[i].num>=P[i].Max否
该航班票数已售完订票成功!
打印出购票信息
图4-4乘客订票N-S图
5、乘客退票
输入航班号P[i].ID,乘客的COS[e].name,COS[e].number
S.ID==P[i].ID&&COS[e].name==name&&COS[e].number==number
是否
退票成功信息输入有误
图4-5乘客退票N-S图
5程序运行数据及其结果
4
图5-1主菜单图5-2航班设定
5
图5-3航班浏览
图5-4机票订购
6
图5-5乘客退票
图5-6售票信息浏览
6课程设计心得
通过这次C语言的课程设计,首先让我回忆和重新巩固C语言方面的知识,其次让我明白了做
任何事情不可能一次性成功,只有不断地练习,不断地改正、思考才能做出自己的东西。
这次的实
验也是很好磨炼我们意志的机会,因为数个小时都待在机房,让我们提前体验自己专业的工作方式。
C语言是我们学习的一种基本语言,无论是在以后的学习还是工作中都有非常重要的作用和不可替
代的作用。
这次C语言的课程设计并不是我学习C语言的结束,而是一个真正的开始。
通过这次的课程设计,不仅让我重新认识或是了解到C语言它的强大功能以及多年来一直作为
最受欢迎的一种语言的魅力。
总之,这几天虽然累,但看着自己做出程序运行的成果,辛辛苦苦编
7
出的代码能顺利的运行心里还是十分欣喜的。
附录
#include
#include
#include
#defineN100
intNowFlynum,NewFlynum;//当前航班数和新增航班数
intr;//全局变量实现某个航班的所有票数增加
inte=0;//全局变量用于浏览航班和售票信息
typedefstructplane
{
charID[10];//航班号
charBePlace[10];//起飞地点
charEndPlace[10];//降落地点
charData[15];//起飞时间
intMax;//最大乘客量
intnum;//已售票数
}PLANE;PLANEP[N];
typedefstructcostomer
{
charname[10];//乘客姓名
charIDnumber[20];//乘客身份证号
charid[20];//乘客所在的航班号
intseatrow;//乘客所选的座位排号
charseatcolumn[5];//乘客所选的座位的列号
}COSTOMER;COSTOMERCOS[N];
voidmenu();//主菜单函数
voidinput(int);//输入航班具体信息
voidEnter();//输入航班设定
voidprint_one_plane(int);//所有设定的航班信息
voidprint_one_plane_and_costomer(int);//乘客订票后的相关信息
voidprint_one_costomer(int);//乘客的个人信息
voiddele(int);//具体删除信息
intDelect(structplane);//寻找乘客所要退票的航班
intBrowse();//浏览航班信息
voidsearch_time();//根据时间查找航班
voidsearch_flight();//根据降落地点查找航班
voidMeun1();//查找航班菜单
intsearch();//订票中查找航班
8
voidBooking();//订票
voidRefund();//退票
voidBrowseInformation();//浏览已售票信息
voidsave();//保存文件
voidload();//载入文件
voidbeforeboookingBrowse();//在订票时浏览航班
intmain()
{
menu();
}
voidmenu()/*主菜单*/
{
inta,b;/*中间变量,为了进行功能的选择*/
do
{
system("cls");
printf("
****************************************************************\n\n\n");
printf("TheAirlineticketsystemofTaiyuan\n\n");
printf("[1].Inputthenewflight\n");
printf("[2].browsetheflight\n");
printf("[3].Querytheflight\n");
printf("[4].Booking\n");
printf("[5].Refund\n");
printf("[6].Browsetheinformationwehavetickets\n");
printf("[7].Save\n");
printf("[8].Load\n");
printf("[9].Exit\n\n\n");
printf("
*****************************************************************\n");
printf("Inputyourchoicenumber(1-9):
");
scanf("%d",&a);
if(a>9||a<1)
{
b=1;
printf("Thenumberofyourinputiswrong.Pleaseinputagain:
");getchar();
}
else
b=0;
}while(b==1);
switch(a)
{
case1:
Enter();break;
case2:
Browse();break;
case3:
Meun1();break;
9
case4:
Booking();break;
case5:
Refund();break;
case6:
BrowseInformation();break;
case7:
save();break;
case8:
load();break;
case9:
exit(0);
}
}
voidEnter()/*输入航班设定*/
{
system("cls");
voidinput(int);
NewFlynum=0;
NowFlynum=NowFlynum+NewFlynum;
printf("Pleaseinputthenumberofflight:
\n");
scanf("%d",&NewFlynum);
printf("pleaseinputtheinformation:
");
for(inti=0;i { printf("\npleaseinputthe%dstflight\n",i+1); input(i); } getchar(); menu(); } voidinput(inti)/*输入航班具体信息*/ { printf("InputtheflightID: \n"); scanf("%s",P[i].ID); printf("Inputtheplaceofbeginplace: \n"); scanf("%s",P[i].BePlace); printf("Inputtheplaceofendplace: \n"); scanf("%s",P[i].EndPlace); printf("Inputthetimeofbegin: \n"); scanf("%s",P[i].Data); printf("InputtheMaxseats: \n"); scanf("%d",&P[i].Max); P[i].num=0; } intBrowse()/*浏览航班信息*/ 10 { inti; r=0; system("cls"); printf("\n\t--------------------------------------------TheFlight Browse------------------------------------"); printf("\n\tFlightIDBeginplaceEndPlaceBegintimeTheMaxcostomernumThenumberofsale\n"); for(inti=0;i { r=r+P[i].num; } for(inti=0;i { print_one_plane(i); printf("\n"); } printf("\t--------------------------------------------------------------------- ---------------------------------\n"); printf("Pressanykeytocontinue.........."); getchar(); getchar(); menu(); returni; } voidprint_one_plane(inti)/*所有设定的航班信息*/ { printf("%s%s%s%s%d %d\n", P[i].ID,P[i].BePlace,P[i].EndPlace,P[i].Data,P[i].Max,P[i].num); } voidprint_one_constomer(intt)/*乘客订票后的相关信息*/ { printf("\n\tFlightIDBeginplaceEndPlaceBegintimeThenumberof bookingThesoldtictets\n"); printf("%s%s%s%s%d %d(row)%s(column)\n", P[t].ID,P[t].BePlace,P[t].EndPlace,P[t].Data,1,COS[e].seatrow,COS[e].seatcolumn ); } voidMeun1()/*查找航班菜单*/ { inta,b; 11 do { system("cls"); printf("\t\t\t\t\t\tTheOperationOfSaleTickets\n\n"); printf("\t\t*******************************MENU1*****************************************\n\n"); printf("\t\t\t\t[1].Lookfortheflightastime.\n"); printf("\t\t\t\t[2].Lookfortheflightasplace.\n"); printf("\t\t\t\t[3].Returnthemenu;\n"); printf("\n\n\t\t****************************************************************************\n"); printf("Inputyourchoicenumber(1-3): "); scanf("%d",&a); if(a<1||a>3) { b=1; printf("Yourchoiceiswrong! pleaseinputagain: "); getchar(); getchar(); } elseb=0; }while(b==1); switch(a) { case1: search_time();break; case2: search_flight();break; case3: menu();break; } } voidsearch_time()/*根据时间查找航班*/ { intm=0; structplanes; system("cls"); printf("\npleaseinputthetime: "); scanf("%s",s.Data); printf(" ----------------------------------------------------------------------------------- -----------------------------"); printf("\n\tFlightIDBeginplaceEndPlaceBegintimeTheMaxcostomernumThenumberofsale\n"); for(inti=0;i { if(strcmp(s.Data,P[i].Data)==0) { 12 print_one_plane(i); printf("\n"); } } printf(" ----------------------------------------------------------------------------------- -----------------------------\n"); printf("Pressanykeytocontinue..........."); getchar(); getchar(); Meun1(); } voidsearch_flight()/*根据降落地点查找航班*/ { intm=0; structplanes; system("cls"); printf("\npleaseinputflight: "); scanf("%s",s.EndPlace); printf(" ----------------------------------------------------------------------------------- --------\n"); printf("\n\tFlightIDBeginplaceEndPlaceBegintimeTheMaxcostomernumThenumberofsale\n"); for(inti=0;i { if(strcmp(s.EndPlace,P[i].EndPlace)==0)//与所有的降落地点进行比较 { print_one_plane(i); printf("\n"); } } printf(" ----------------------------------------------------------------------------------- ----------\n"); printf("Pressanykeytocontinue................"); getchar(); getchar(); Meun1(); } voidBooking()/*订票*/ { voidcompare();//重复的输入 voidchooseNS();//无烟区 voidchooseS();//吸烟区 13 r=0; inti;//选择变量 inta=0;//循环变量 intchoose; charw; intd=-1;//选择变量 structplanes;//声明一个结构体变量 system("cls"); printf("\t\t\tWelcomeToThecTicketWindow\n"); printf("\t\tIthave20rows,everyrowhas4seats,'A','B','C','D'.\n\t\t'A'and'D'areclosethewindow.19and20aresmokingplace."); printf("\npleaseinputyourflightIDnumber: \n"); scanf("%s",s.ID); for(intm=0;m { if(strcmp(s.ID,P[m].ID)==0) { d=1; break; } } if(d==1) { printf("\n\nDoyouwanttobrowsetheinformationofsale\npleaseinput--y--tocontinue,or--n--exit\n\n"); scanf("%s",&w); if(w=='y')//选择是否要进行已售票信息的浏览 { beforeboookingBrowse(); } printf("DoyouwantaseatofSmokingorNoSmoking: \n\nplease[1]forSmoking,[2]forNoSmoking: "); scanf("%d",&choose); if(choose==1) { chooseS(); i=search(); } else { chooseNS(); i=search(); } if(i! =-1) { if(P[i].num>=P[i].Max) 14 { printf("Thisfilght'sticketshasbeensoldover! "); } else { P[i].num++; strcpy(COS[e].id,P[i].ID); e++; printf("\n\n\t\t\tSuccessbooking! \n"); } } else { printf("Thisflightisnoexist! "); } printf("Pressanykeytocontinue........."); getchar(); getchar(); menu(); } else { printf("Theflightisnoexist! pleasebookingagain! \n"); } } voidcompare() { printf("Inputerror,columnmustbe'A','B','C'or'D'.! pleaseinputagain! \n"); printf("column: "); scanf("%s",COS[e
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 飞机 订票 系统 设计
![提示](https://static.bdocx.com/images/bang_tan.gif)