飞机订票系统的设计Word文档下载推荐.docx
- 文档编号:19089956
- 上传时间:2023-01-03
- 格式:DOCX
- 页数:24
- 大小:171.73KB
飞机订票系统的设计Word文档下载推荐.docx
《飞机订票系统的设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《飞机订票系统的设计Word文档下载推荐.docx(24页珍藏版)》请在冰豆网上搜索。
票,可以提供相关可选择航班;
航班机票退票:
可退票,退票后修改相关数据文件;
客户资料有姓名,证件号,订
票数量及航班情况,订单要有编号。
修改航班信息:
当航班信息改变可以修改航班数据文件
根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能。
1.2涉及知识
(1)掌握设计和调试应用程序的方法及技巧
(2)掌握根据问题需求抽象出逻辑结构选择合适的物理结构的方法
(3)线性结构和非线性结构
(4)逻辑结构和物理结构
(5)各种物理存储结构实现方式下各种运算的实现
1.3开发设计思想
(1)采用现有的软硬件环境及先进的管理系统开发方案,从而达到充分利用现有资源,
提高系统开发水平和应用效果的目的。
(2)达到操作过程中的直观、方便、实用、安全等要求。
(3)系统采用模块化程序设计方法,既便于系统功能的各种组合和修改,又便于为参与
开发的技术维护人员补充、维护。
(4)系统应具备数据库维护功能,根据用户需求进行数据的添加、删除、修改等操作
第二章方案论证
2.1订票系统主菜单函数
本函数主要构造系统的主菜单,系统需要实现很多功能,并且各个功能需要各自
的函数支持,所以通过主菜单可以轻松的进入各个函数下实现各自的功能,故主菜单
显得尤为重要。
其实就是通过键盘输入选择项,然后通过scanf接受,在通过swtich
判断进入各个选择项。
2.2工作人员管理函数
系统需要各个航班的详细信息,所以需要工作人员把信息输入系统里,以供乘
客查询订票。
enter()函数的构造就是为了解决这个问题。
而有可能航班线路更改
或由于天气等原因飞机的起飞时间发生了更改,故工作人员需要及时更改信息,所
以需要构造change()函数。
2.3列出航班信息的函数
乘客需要查询各个航班的信息,所以通过系统要能调出上面工作人员已经录入
好的航班信息,所以构造本函数来实现这个功能。
2.4乘客具体查询函数
本函数分两个分函数:
search1()和search2(),它们分别实现乘客的按航班查询和按出发及抵达城市的两种查询方案。
2.5票务管理函数
通过book()函数实现乘客的订票操作,通过quit()实现乘客的退票操作。
第三章设计过程论述
3.1总体分析
飞机预定系统的数据流图如下:
细化整个机票管理系统,将此分为订票、退票、查找、管理四大部分。
按照自定向下逐步细化得到下图:
数据流分析
机票管理系统是实现机场机票的预定、统计和分析,提高机票运用的科学管理水平,充分发挥机票利用率,节省订退票时间。
机场管理系统的建立不仅会减少大量人力的繁琐劳动,而且产生良好的社会效益和经济效益。
机票管理系统的具体功能为:
1.录入机场近期航班情况,并进行严格校验,保证原始数据的绝对准确。
2.由录入数据进而建立订票系统、退票系统、查询系统、管理系统。
3.订票系统中,具有严格的乘客身份录入,并同时对当次航班票数做出统计。
要根据不同情况采取不同措施。
4.退票系统中,严格校验退票人身份,并明确相应的返还金额。
5.查询系统中,分为不同的查询方式,有按航班号查找、按照起飞城市和抵达城市查询。
6.管理系统中,细化模块,整体把握机票售出情况和近期及某天飞机飞行情况,并具有新增航班和取消航班的功能。
3.2管理系统
设计中以此模块为核心,将各个模块通过主界面统领在一块。
该模块的主要功能有:
飞机基本情况查询、航班某天和近期情况管理、新增航班和取消航班五大功能。
其细化流图如下:
对于五种不同情况,程序设计时采用CASE语句,分情况讨论。
case1:
search();
case2:
f1();
f2();
add();
dele()
其中search模块,是与search部分连接在一起的,通过程序之间的函数调用,实现此功能。
在f1模块中,当输入您要查询的日期时,如存在此乘客,则显示出该乘客的序号、姓名、身份证号码、订票日期、航班号及座位号。
注意到不可能只有一位乘客时此段程序将采用循环实现;
又注意到会有多种情况出现时,将采用if语句进行条件判别。
3.3主菜单流程图
订票系统主菜单
输入航班信息
1
浏览航班信息
2
按航班号查询航班信息
3
按城市查询航班信息
4
订票程序
5
退票程序
6
修改航班信息
7
保存文件信息
8
读取文件、下载文件
9
退出系统
3.4程序源代码
#include<
dos.h>
#include<
stdio.h>
stdlib.h>
string.h>
#defineN20
#defineQ40/*定义数据结构*/
/*乘客信息*/
typedefstruct
{
charnumber[10];
/*编号*/
charid[20];
/*证件号*/
charname[10];
/*姓名*/
intcount;
/*订票数*/
charflightname[10];
/*乘坐航班号*/
}GUEST;
/*航班信息*/
{charplanenumber[10];
/*航班号*/
charTake_off_city[20];
/*起飞城市*/
charArrived_in_city[20];
/*抵达城市*/
chartakeoff_time[20];
/*起飞时间*/
charLanding_time[20];
/*降落时间*/
intshipping;
/*舱位数*/
charprice[5];
/*票价*/
chardiscount[5];
/*折扣*/
GUESTguest[20];
intsit;
}FLY;
/*菜单函数,函数返回值为整数,代表所选的菜单项*/
menu_select()
intc;
printf("
欢迎使用\n\n"
);
咸阳国际机场订票系统\n\n"
********************MENU****************\n\n"
0.输入航班信息\n"
1.浏览航班的信息\n"
2.按航班号查询航班信息\n"
3.按城市来查询航班\n"
4.订票程序\n"
5.退票系统\n"
6.修改飞机航班的信息\n"
7.保存文件\n"
8.读取和下载文件\n"
9.退出\n"
*****************************************\n\n"
do{
\n请在0~9中选择输入:
"
/*提示输入选项*/
scanf("
%d"
&
c);
/*输入选择项*/
}while(c<
0||c>
9);
/*选择项不在~9之间重输*/
returnc;
/*返回选择项,主程序根据该数调用相应的函数*/
}
/*输入函数*/
intenter(FLYt[])
inti,k,n,m,w,j;
char*s;
输入航线总数(n<
=40):
/*输入航线总数*/
n);
while(n>
40||n<
0)
{
输入错误!
!
再次输入(0<
n<
}
输入航班的信息\n\n"
/*提示信息*/
航班号起飞城市降落城市起飞时间降落时间剩余票数价格折扣\n"
printf("
------------------------------------------------------------------------------\n"
for(i=0;
i<
n;
i++)
%s"
t[i].planenumber);
/*输入姓名*/
t[i].Take_off_city);
/*输入起飞城市*/
t[i].Arrived_in_city);
/*输入降落城市*/
t[i].takeoff_time);
/*输入起飞时间*/
t[i].Landing_time);
/*输入降落时间*/
t[i].shipping);
/*输入舱位数*/
t[i].price);
/*输入票价*/
t[i].discount);
/*输入折扣*/
-----------------------------------------------------------------------------\n"
i++)t[i].sit=0;
returnn;
/*返回记录条数*/
/*显示记录,参数为记录数组和记录条数*/
voidlist(FLYt[],intn)
inti;
浏览各航班的信息:
\n"
i++)printf("
%-10s%-8s%-8s%-10s%-9s%-7d%-7s%-7s\n"
t[i].planenumber,t[i].Take_off_city,t[i].Arrived_in_city,t[i].takeoff_time,t[i].Landing_time,t[i].shipping,t[i].price,t[i].discount);
************************end*******************\n"
/*按航班号查找记录*/
voidsearch1(FLYt[],intn)
chars[20];
/*保存待查找航班名字符串*/
输入你想查找的航班名:
s);
/*输入待查找航班名*/
i++)/*从第一条记录开始,直到最后一条*/
if(strcmp(s,t[i].planenumber)==0)/*记录中的航班名和待比较的是否相等*/
break;
/*相等,则返回该记录的下标号,程序提前结束*/
if(i>
n-1)/*如果整数i值大于n-1,说明没找到*/
没有找到\n"
else
/*显示记录*/printf("
/*按起降城市查找记录*/
voidsearch2(FLYt[],intn)
chars1[20];
chars2[20];
输入起飞城市名称:
s1);
/*输入起飞城市名*/
输入降落城市名称:
s2);
/*输入降落城市名*/
if((strcmp(s1,t[i].Take_off_city)==0)&
&
(strcmp(s2,t[i].Arrived_in_city)==0))/*记录中的城市和待比较的是否相等*/
/*找到,显示记录*/printf("
/*订票*/
voidbook(FLYt[],intn)
chars[20],number1[10],name1[10],id1[20],flightname1[10];
inti,j=0,m,k,count1;
输入你想预订的票数:
m);
号码姓名证件号订的票数航班号\n"
/*提示信息*/
------------------------------------------------------------\n"
for(k=0;
k<
m;
k++)
number1);
name1);
/*输入订票客户姓名*/
id1);
/*输入证件号*/
count1);
/*输入订票票数*/
flightname1);
/*输入航班号*/
if(strcmp(flightname1,t[i].planenumber)==0)/*记录中的航班名和待比较的是否相等*/
j=t[i].sit;
strcpy(t[i].guest[j].number,number1);
/*把从src地址开始且含有NULL结束符的字符串复制到以dest开始的地址空间*/
strcpy(t[i].guest[j].name,name1);
strcpy(t[i].guest[j].id,id1);
t[i].guest[j].count=count1;
strcpy(t[i].guest[j].flightname,flightname1);
t[i].shipping=t[i].shipping-count1;
t[i].sit++;
对不起!
没有此航班\n"
m=m+2;
k++;
/*退票*/
voidquit(FLYt[],intn)
chars1[20],s2[20];
/*保存待查找航班名和证件号字符串*/
inti,k,j,h,l,ch;
请输入你想退订的航班号:
请输入你的证件号:
/*输入待查找证件号*/
/*显示提示*/
for(j=0;
j<
t[i].sit;
j++)if((strcmp(s1,t[i].guest[j].flightname)==0)&
(strcmp(s2,t[i].guest[j].id)==0)){printf("
%-10s%-13s%-13s%-10d%-10s\n"
t[i].guest[j].number,t[i].guest[j].name,t[i].guest[j].id,t[i].guest[j].count,t[i].guest[j].flightname);
t[i].shipping=t[i].shipping+t[i].guest[j].count;
l=j;
h=i;
i=h;
你是否确认删除(1/0)\n"
/*确认是否要删除*/
ch);
/*输入一个整数或*/
if(ch==1)/*如果确认删除整数为*/
for(k=l+1;
strcpy(t[i].guest[k-1].number,t[i].guest[k].number);
/*将后一条记录的姓名拷贝到前一条*/
strcpy(t[i].guest[k-1].name,t[i].guest[k].name);
strcpy(t[i].guest[k-1].id,t[i].guest[k].id);
t[i].guest[k-1].count=t[i].guest[k].count;
strcpy(t[i].guest[k-1].flightname,t[i].guest[k].flightname);
t[i].sit--;
退票成功!
/*提示退票成功*/
/*修改航班信息*/
voidchannge(FLYt[],intn)
/*要删除记录的姓名*/
inti,j;
请输入你要修改的航班号:
/*输入航班名*/
/*找到,显示原先记录*/
t[i].planenumber,t[i].Take_off_city,t[i].Arrived_in_city,t[i].takeoff_time,t[i].Landing_time,t[i].shipping,t[i].price,t[i].disco
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 飞机 订票 系统 设计