《c语言飞机订票系统设计(共22页).doc》由会员分享,可在线阅读,更多相关《c语言飞机订票系统设计(共22页).doc(22页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上 课程设计说明书学 院、系:专 业:学 生 姓 名: 学 号:设 计 题 目:飞机订票系统设计 起 迄 日 期:指 导 教 师:日期: 2017年5月12日1 设计目的(1) 实现航班的设定、航班信息的浏览和航班的查询。(2) 实现乘客的飞机票的订购、退票以及所定票的查询。2 任务概述本飞机共有80个坐位,分20排,每排4个位子。编号为A,B,C,D。如10D表示 10排D座。A和D靠窗,19到20排为吸烟区。本系统可让乘客自己选座号和区域直到乘客满意为止,无法满足的话,只能改乘另一个航班。定上票的乘客需给出姓名和身份证号,最后要打印出乘客清单。3 模块划分结构体(飞
2、机和乘客) 菜单功能选择函数 航班设定函数飞机订票系统设计按航班时间查找函数 航班浏览函数按降落地点查找函数 吸烟区函数 无烟区函数 乘客订票函数 乘客退票函数 浏览乘客订票信息 保存信息 载入信息 图 3-1 功能模块图4 主要函数说明及其N-S图(1) 主菜单函数:功能的选择(2) 航班设定函数:设定航班数量、航班的起始点、航班时间(3) 航班浏览函数:按时间查找浏览、按降落地点查找(4) 乘客订票函数:乘客姓名、身份证号以及所定航班的所有信息 1、无烟区函数 2、吸烟区函数(5) 乘客退票函数:航班号、姓名和身份证号(6) 乘客信息浏览:乘客姓名、身份证号、座位号和航班号(7) 文件保存
3、(8) 文件载入(9)退出飞机订票系统N-S图1、航班设定 输入新增航班数 i输入航班号,起飞和降落地点以及时间和最大载客量Max售票数num 图 4-1 航班设定 N-S图2、输入客户信息输入飞机的Pi.ID,Pi.BePlace,Pi.EndPlace,Pi.Data,Pi.Max 图 4-2 输入客户信息 N-S图3、 浏览航班信息1 选择查询方式 2 按时间查询 按降落地点查询是 和Pi.Data 否 是 和Pi.EndPlace 否输出航班 输出航班 输出航班 输出航班信息 信息不存在 信息 信息不存在 图 4-3 浏览航班信息 N-S图4、乘客订票输入航班号Pi.ID,乘客的COS
4、e.name,COSe.number,COSe.seat Strcmp(s.ID ,Pm.ID) m+ 是 char w=y 否beforeboookingBrowse(); 是 int choose= =1 否 chooses(); chooseNS();是 Pi.num=Pi.Max 否该航班票数已售完 订票成功!打印出购票信息 图 4-4 乘客订票 N-S图5、乘客退票 输入航班号Pi.ID,乘客的COSe.name,COSe.number S.ID=Pi.ID&COSe.name=name&COSe.number=number 是 否 退票成功 信息输入有误 图 4-5 乘客退票 N-
5、S 图5 程序运行数据及其结果 图 5-1 主菜单 图 5-2 航班设定 图 5-3 航班浏览 图 5-4 机票订购 图 5-5 乘客退票 图 5-6 售票信息浏览6 课程设计心得 通过这次C语言的课程设计,首先让我回忆和重新巩固C语言方面的知识,其次让我明白了做任何事情不可能一次性成功,只有不断地练习,不断地改正、思考才能做出自己的东西。这次的实验也是很好磨炼我们意志的机会,因为数个小时都待在机房,让我们提前体验自己专业的工作方式。 C语言是我们学习的一种基本语言,无论是在以后的学习还是工作中都有非常重要的作用和不可替代的作用。这次C语言的课程设计并不是我学习C语言的结束,而是一个真正的开始
6、。 通过这次的课程设计,不仅让我重新认识或是了解到C语言它的强大功能以及多年来一直作为最受欢迎的一种语言的魅力。总之,这几天虽然累,但看着自己做出程序运行的成果,辛辛苦苦编出的代码能顺利的运行心里还是十分欣喜的。附录#include #include #include #define N 100 int NowFlynum,NewFlynum;/当前航班数和新增航班数 int r; /全局变量实现某个航班的所有票数增加 int e=0; /全局变量用于浏览航班和售票信息 typedef struct planechar ID10; /航班号char BePlace10; /起飞地点char E
7、ndPlace10; /降落地点char Data15; /起飞时间int Max; /最大乘客量int num; /已售票数PLANE;PLANE PN;typedef struct costomerchar name10; /乘客姓名char IDnumber20; /乘客身份证号char id20; /乘客所在的航班号int seatrow;/乘客所选的座位排号char seatcolumn5;/乘客所选的座位的列号COSTOMER;COSTOMER COSN;void menu(); /主菜单函数void input(int); /输入航班具体信息 void Enter(); /输入航
8、班设定 void print_one_plane(int);/所有设定的航班信息 void print_one_plane_and_costomer(int);/乘客订票后的相关信息 void print_one_costomer(int);/乘客的个人信息void dele(int);/具体删除信息int Delect(struct plane);/寻找乘客所要退票的航班int Browse();/浏览航班信息void search_time();/根据时间查找航班void search_flight();/根据降落地点查找航班void Meun1();/查找航班菜单int search()
9、;/订票中查找航班void Booking();/订票void Refund();/退票void BrowseInformation();/浏览已售票信息void save();/保存文件void load();/载入文件void beforeboookingBrowse();/在订票时浏览航班int main()menu();void menu()/*主菜单*/int a,b;/*中间变量,为了进行功能的选择*/dosystem(cls);printf( *nnn);printf( The Airline ticket system of Taiyuannn);printf( 1.Input
10、 the new flightn);printf( 2.browse the flightn);printf( 3.Query the flightn);printf( 4.Bookingn);printf( 5.Refundn);printf( 6.Browse the information we have ticketsn);printf( 7.Saven);printf( 8.Loadn);printf( 9.Exitnnn);printf( *n);printf(Input your choice number(1-9):);scanf(%d,&a);if(a9|a1)b=1;pri
11、ntf(The number of your input is wrong.Please input again:);getchar();else b=0;while(b=1);switch(a)case 1:Enter();break;case 2:Browse();break;case 3:Meun1();break;case 4:Booking();break;case 5:Refund();break;case 6:BrowseInformation();break;case 7:save();break;case 8:load();break;case 9:exit(0);void
12、Enter()/*输入航班设定*/system(cls);void input(int);NewFlynum=0;NowFlynum=NowFlynum+NewFlynum;printf(Please input the number of flight:n);scanf(%d,&NewFlynum);printf(please input the information: );for(int i=0;iNewFlynum+NowFlynum;i+)printf(nplease input the %dst flightn,i+1);input(i);getchar();menu();void
13、 input(int i)/*输入航班具体信息*/printf(Input the flight ID:n);scanf(%s,Pi.ID);printf(Input the place of beginplace:n);scanf(%s,Pi.BePlace);printf(Input the place of endplace:n);scanf(%s,Pi.EndPlace);printf(Input the time of begin:n);scanf(%s,Pi.Data);printf(Input the Max seats:n);scanf(%d,&Pi.Max);Pi.num=0
14、;int Browse()/*浏览航班信息*/int i;r=0;system(cls);printf(nt-The Flight Browse-);printf(nt FlightID Beginplace EndPlace Begintime The Max costomer num The number of sale n);for(int i=0;iNewFlynum+NowFlynum;i+)r=r+Pi.num;for(int i=0;iNewFlynum+NowFlynum;i+)print_one_plane(i);printf(n);printf(t-n);printf(Pr
15、ess any key to continue.);getchar();getchar();menu();return i;void print_one_plane(int i)/*所有设定的航班信息*/printf( %s %s %s %s %d %d n,Pi.ID,Pi.BePlace,Pi.EndPlace,Pi.Data,Pi.Max,Pi.num);void print_one_constomer(int t)/*乘客订票后的相关信息*/printf(nt FlightID Beginplace EndPlace Begintime The number of booking Th
16、e sold tictetsn);printf( %s %s %s %s %d %d(row)%s(column)n,Pt.ID,Pt.BePlace,Pt.EndPlace,Pt.Data,1,COSe.seatrow,COSe.seatcolumn);void Meun1()/*查找航班菜单*/int a,b;dosystem(cls);printf(ttttttThe Operation Of Sale Ticketsnn);printf(tt*MENU1*nn);printf(tttt1.Look for the flight as time.n);printf(tttt2.Look
17、for the flight as place.n);printf(tttt3.Return the menu;n);printf(nntt*n);printf(Input your choice number(1-3):);scanf(%d,&a);if(a3)b=1;printf(Your choice is wrong!please input again:);getchar();getchar();else b=0;while(b=1);switch(a)case 1:search_time();break;case 2:search_flight();break;case 3:men
18、u();break;void search_time()/*根据时间查找航班*/int m=0;struct plane s;system(cls);printf(nplease input the time:);scanf(%s,s.Data);printf( -);printf(ntFlightID Beginplace EndPlace Begintime The Max costomer num The number of salen);for(int i=0;iNewFlynum+NowFlynum;i+)/与所有的航班进行比较if(strcmp(s.Data,Pi.Data)=0)
19、print_one_plane(i);printf(n);printf( -n);printf(Press any key to continue.);getchar();getchar();Meun1();void search_flight()/*根据降落地点查找航班*/int m=0;struct plane s;system(cls);printf(nplease input flight:);scanf(%s,s.EndPlace);printf( -n);printf(ntFlightID Beginplace EndPlace Begintime The Max costomer
20、 num The number of sale n);for(int i=0;iNewFlynum+NowFlynum;i+)if(strcmp(s.EndPlace,Pi.EndPlace)=0)/与所有的降落地点进行比较print_one_plane(i);printf(n);printf( -n);printf(Press any key to continue.);getchar();getchar();Meun1();void Booking()/*订票*/void compare();/重复的输入void chooseNS();/无烟区void chooseS();/吸烟区r=0;
21、int i;/选择变量int a=0;/循环变量int choose;char w;int d=-1;/选择变量struct plane s;/声明一个结构体变量system(cls);printf(tttWelcome To Thec Ticket Windown);printf(ttIt have 20 rows ,every row has 4 seats,A,B,C,D.nttA and D are close the window.19 and 20 are smokingplace.);printf(nplease input your flightID number:n);sca
22、nf(%s,s.ID);for(int m=0;m=Pi.Max)printf(This filghts tickets has been sold over!);elsePi.num+;strcpy(COSe.id,Pi.ID);e+;printf(nntttSuccess booking!n);elseprintf(This flight is no exist!);printf(Press any key to continue.);getchar();getchar();menu();else printf(The flight is no exist!please booking a
23、gain!n);void compare()printf(Input error,column must be A,B,C or D.!please input again!n);printf(column:);scanf(%s,COSe.seatcolumn);void chooseNS()int row;printf(nnplease input your name:nn);scanf(%s,COSe.name);printf(nn);printf(please input your Idcard number:nn);scanf(%s,COSe.IDnumber); printf(nn)
24、; printf(please input the ticket of number you want:nn);printf(row:);scanf(%d,&row);for(int a=0;) if(row18|row20|row18) printf(Input error,row cannt more 20 and less 18!please input again or please return and choose Smoking!n); printf(row:); scanf(%d,&row); else COSe.seatrow=row; break; printf(colum
25、n:); scanf(%s,COSe.seatcolumn); for(int a=0;) if(strcmp(COSe.seatcolumn,A)=0|strcmp(COSe.seatcolumn,B)=0|strcmp(COSe.seatcolumn,C)=0|strcmp(COSe.seatcolumn,D)=0) COSe.seatcolumn; break; else compare(); void beforeboookingBrowse()int i;r=0;system(cls);printf(nt-The Flight Browse-);printf(nt FlightID
26、Beginplace EndPlace Begintime The Max costomer num The number of sale The sold tictetsn);for(int i=0;iNewFlynum+NowFlynum;i+)r=r+Pi.num;for(int i=0;ie;i+)print_one_plane_and_costomer(i);printf(n);printf(t-n);printf(Press any key to continue );getchar();getchar(); void print_one_plane_and_costomer(in
27、t i)printf( %s %s %s %s %d %d %d(row)%s(column)n,Pi.ID,Pi.BePlace,Pi.EndPlace,Pi.Data,Pi.Max,Pi.num,COSi.seatrow,COSi.seatcolumn);int search()/*订票中查找航班*/int k,t=0;struct plane s;k=-1;printf(Input the place of beginplace:n);scanf(%s,s.BePlace);printf(Input the place of endplace:n);scanf(%s,s.EndPlace
28、);printf(Input the time of begin:n);scanf(%s,s.Data);for(int i=0;iNewFlynum+NowFlynum;i+)/*判断输入的信息与已存在的信息是否匹配*/if(strcmp(s.BePlace,Pi.BePlace)=0&strcmp(s.EndPlace,Pi.EndPlace)=0&strcmp(s.Data,Pi.Data)=0)k=i;strcpy(s.Data,Pi.Data);printf(nntttttInformation as follow:n);print_one_constomer(t);t+;break;if(k=-1)printf(nnNo exist!);return -1;else