最新(C语言版)飞机订票系统.doc
《最新(C语言版)飞机订票系统.doc》由会员分享,可在线阅读,更多相关《最新(C语言版)飞机订票系统.doc(26页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精品资料(C语言版)飞机订票系统.订票系统1.需求分析任务:通过此系统可以实现如下功能:录入:可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定)查询:可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓);可以输入起飞抵达城市,查询飞机航班情况;订票:(订票情况可以存在一个数据文件中,结构自己设定)可以订票,如果该航班已经无票,可以提供相关可选择航班;退票: 可退票,退票后修改相关数据文件;客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。修改航班信息:当航班信息改变可以修改航班数据文件要求:根据以上功能说明,设
2、计航班信息,订票信息的存储结构,设计程序完成功能;2:主要设计思路:1) 算法构造流程图:A:主菜单:主菜单0123456789输入航班的信息列出航班的信息按航班号查询航班信息按城市来查询航班订票程序退票系统修改飞机航班的信息保存文件读取文件 、下载文件退出B:各分块模板的构造流程图:0.输入航班的信息航班号起飞城市降落城市出发时间降落时间剩下的座位价格折扣1.列出航班的信息继续 y退出 n2.按航班号查询航班信息输入所需要查询的航班号显示这个航班的的信息3.按城市来查询航班输入起飞城市输入降落城市显示这个航班的信息4.订票程序输入号码输入名字输入ID需要定的票数航班号5.退票系统输入航班号输
3、入你ID确定退票 1否定 06.修改飞机航班的信息输入要修改的航班号重新输入新的航班信息7.保存文件显示保存成功3:功能函数设计:(1):订票系统主菜单函数 menu_select() 本函数主要构造系统的主菜单,系统需要实现很多功能,并且各个功能需要各自的函数支持,所以通过主菜单可以轻松的进入各个函数下实现各自的功能,故主菜单显得尤为重要。其实就是通过键盘输入选择项,然后通过scanf接受,在通过swtich判断进入各个选择项。(2):工作人员管理函数 enter()&change() 系统需要各个航班的详细信息,所以需要工作人员把信息输入系统里,以供乘客查询订票。enter()函数的构造就
4、是为了解决这个问题。而有可能航班线路更改或由于天气等原因飞机的起飞时间发生了更改,故工作人员需要及时更改信息,所以需要构造change()函数。(3):列出航班信息的函数 list() 乘客需要查询各个航班的信息,所以通过系统要能调出上面工作人员已经录入好的航班信息,所以构造本函数来实现这个功能。(4)乘客具体查询函数 search() 本函数分两个分函数:search1()和search2(),它们分别实现乘客的按航班查询和按出发及抵达城市的两种查询方案。(5)票务管理函数 book()&quit() 通过book()函数可以实现乘客的订票操作,通过quit()可以实现乘客的退票操作。(6)
5、文件操作函数 save()&load()3.源程序代码:(WIN TC下运行)#include#include #include #include #define N 20#define Q 40 /*定义数据结构*/*乘客信息*/typedef struct char number10;/*编号*/ char id20; /*证件号*/ char name10; /*姓名*/ int count; /*订票数*/ char flightname10;/*乘坐航班号*/GUEST; /*航班信息*/typedef structchar planenumber10;/*航班号*/ char Ta
6、ke_off_city20;/*起飞城市*/ char Arrived_in_city20;/*抵达城市*/ char takeoff_time20;/*起飞时间*/ char Landing_time20;/*降落时间*/ int shipping; /*舱位数*/ char price5; /*票价*/ char discount5; /*折扣*/ GUEST guest20; int sit;FLY;/*菜单函数,函数返回值为整数,代表所选的菜单项*/menu_select() int c; printf(按任意键返回主菜单n);/*提示压任意键继续*/ getch(); /*读入任意字
7、符*/ printf( Welcome tonn); printf( Tickets Booking Systemnn); printf( *MENU*nn); printf( 0. 输入航班信息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( 9. 退出n); printf(
8、*nn); do printf(n 输入你的选择项(09):); /*提示输入选项*/ scanf(%d,&c); /*输入选择项*/ while(c9); /*选择项不在9之间重输*/ return c; /*返回选择项,主程序根据该数调用相应的函数*/*输入函数*/int enter(FLY t) int i,k,n,m,w,j; char *s; printf(输入航线总数(n40|n0) printf(输入错误!再次输入(0n=40):);/*输入航线总数*/ scanf(%d,&n); printf( 输入航班的信息nn);/*提示信息*/ printf(航班号起飞城市 降落城市 出
9、发时间 降落时间 剩下的座位 价格 折扣n); printf(-n); for(i=0;in;i+) scanf(%s,ti.planenumber);/*输入姓名*/ scanf(%s,ti.Take_off_city);/*输入起飞城市*/ scanf(%s,ti.Arrived_in_city);/*输入降落城市*/ scanf(%s,ti.takeoff_time);/*输入起飞时间*/ scanf(%s,ti.Landing_time);/*输入降落时间*/ scanf(%d,&ti.shipping);/*输入舱位数*/ scanf(%s,ti.price);/*输入票价*/ sc
10、anf(%s,ti.discount);/*输入折扣*/ printf(-n); for(i=0;in;i+)ti.sit=0; return n; /*返回记录条数*/*显示记录,参数为记录数组和记录条数*/void list(FLY t,int n) int i; printf(航班号起飞城市 降落城市 出发时间 降落时间 剩下的座位 价格 折扣n); printf(-n); for(i=0;in;i+) printf(%-12s%-12s%-10s%-12s%-10s%-7d%-7s%-7sn,ti.planenumber,ti.Take_off_city,ti.Arrived_in_c
11、ity,ti.takeoff_time,ti.Landing_time,ti.shipping,ti.price,ti.discount); printf( *end*n);/*按航班号查找记录*/void search1(FLY t,int n) char s20; /*保存待查找航班名字符串*/ int i; printf(输入你想查找的航班名:); scanf(%s,s); /*输入待查找航班名*/ for(i=0;in-1) /*如果整数i值大于n-1,说明没找到*/ printf(没有找到n); else printf(航班号起飞城市 降落城市 出发时间 降落时间 剩下的座位 价格
12、折扣n); /*显示记录*/ printf(-n); printf(%-12s%-12s%-10s%-12s%-10s%-7d%-7s%-7sn,ti.planenumber,ti.Take_off_city,ti.Arrived_in_city,ti.takeoff_time,ti.Landing_time,ti.shipping,ti.price,ti.discount); /*按起降城市查找记录*/void search2(FLY t,int n) char s120; char s220; int i; printf(输入起飞城市名称:); scanf(%s,s1); /*输入起飞城市
13、名*/ printf(输入降落城市名称:); scanf(%s,s2); /*输入降落城市名*/ for(i=0;in-1) /*如果整数i值大于n-1,说明没找到*/ printf(没有找到n); else printf(航班号起飞城市 降落城市 出发时间 降落时间 剩下的座位 价格 折扣n); /*找到,显示记录*/ printf(-n); printf(%-12s%-12s%-10s%-12s%-10s%-7d%-7s%-7sn,ti.planenumber,ti.Take_off_city,ti.Arrived_in_city,ti.takeoff_time,ti.Landing_ti
14、me,ti.shipping,ti.price,ti.discount); /*订票*/void book(FLY t,int n) char s20,number110,name110,id120,flightname110; int i,j=0,m,k,count1; printf(输入你想预订的票数:); scanf(%d,&m); printf(号码 姓名 证件号 订的票数 航班号n); /*提示信息*/ printf(-n); for(k=0;km;k+) scanf(%s,number1); scanf(%s,name1);/*输入订票客户姓名*/ scanf(%s,id1);/*
15、输入证件号*/ scanf(%d,&count1);/*输入订票票数*/ scanf(%s,flightname1);/*输入航班号*/ for(i=0;in-1) /*如果整数i值大于n-1,说明没找到*/ printf(对不起!没有此航班n); m=m+2; k+; /*退票*/void quit(FLY t,int n) char s120,s220; /*保存待查找航班名和证件号字符串*/ int i,k,j,h,l,ch; printf(请输入你想退订的航班号:); scanf(%s,s1); /*输入待查找航班名*/ printf(请输入你的证件号:); scanf(%s,s2);
16、 /*输入待查找证件号*/ printf(号码 姓名 证件号 订的票数 航班号n); /*显示提示*/ printf(-n); for(i=0;in;i+)/*从第一条记录开始,直到最后一条*/ for(j=0;jn-1) /*如果整数i值大于n-1,说明没找到*/ printf(没有找到n); else printf(你是否确认删除(1/0)n); /*确认是否要删除*/ scanf(%d,&ch); /*输入一个整数或*/ if(ch=1) /*如果确认删除整数为*/ for(k=l+1;kti.sit;k+) strcpy(ti.guestk-1.number,ti.guestk.num
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 最新 语言版 飞机 订票 系统
限制150内