飞机航班管理系统

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

分类号编号

华北水利水电学院North China Institute of Water Conservancy and Hydroelectric

Power

课程设计

题目飞机航班管理系统

院系信息工程学院

专业计算机科学与技术

姓名高旭召

学号200810832

指导教师张瑞霞

2011年7 月1 日

一、设计题目及内容

本次实验我的设计题目是《飞机航本管理系统》,本系统的主要内容有录入航班信息、查询航班信息、顾客订票、顾客退票和修改航班信息等几个模块。其中录入航班信息模块包括飞机号、航班号、起飞地点、目的地、起飞时间、票价、座位信息等几个功能,查询航班信息模块包括查询航班号、起飞地点、目的地、起飞时间、票价、座位信息等,订票模块包括显示座位信息、剩余票数座位数等,订票时还应要求输入姓名、身份证号,顾客退票模块应输入姓名、身份证号并确定退票后将顾客信息置空,修改航班信息模块与退票模块类似。

二、需求分析

现在,中国的航空运输业已经有所发展,越来越多的人选择乘坐飞机去世界的各个地方。但是同时也会给航空公司带来一些问题:航空公司是否能够提供方便快捷的服务来满足顾客的需求。也许在中国的某些售票场所还是用传统的窗口售票的方式来为顾客服务的。每当到了人流高峰期,顾客表要排着长队,等上几个小时才能买到票。这样的效率怎能不叫人遗憾?今天,一种全新售票方式将向大家展现,你可以不用去固定的售票地点,只要打开你的电脑便可以通过互联网以最快捷的方式买到票。

此系统我是在Visual C++ 6.0环境下编译的运行的。

本程序的编写是以乘客买票方便、售票人操作方便为目的的,系统应简便快捷信息显示全面。因此在录入航班信息中录入的都是飞机号、航班号、起飞地点、目的地、起飞时间、票价、座位信息等乘客比较关注的信息使顾客一目了然能在最短的时间里比较全面的了解航班信息。在查询航班信息中只需输入航班号或目的地就能显示出你需要查询的航班信息,不需要你一个一个的查找,快捷简单,而且信息显示比较全面但不冗杂使乘客方便。在订票或退票中乘客只需输入姓名、身份证号然后确定订票或退票就可订票或退票成功,方便快捷。在修改航班信息中,售票人只需输入航班号就可看到该航班的信息,确认修改后就可对该航班的信息进行修改,省去了售票人大量的时间。

三、系统设计

本次的系统的设计我才用了了五个模块的形式,包括输入航班信息、查询航班信息、乘客订票、乘客退票、修改航班信息。其中输入航班信息模块有航班号、起飞时间、起飞地、目的地、票价、座位信息等;查询航班信息模块有录入的一切乘客需要的信息的查询;乘客的订票有按航班或目的地两种查询方式,查到所要顶航班后输入姓名、身份证号就可预订;

退票模块输入姓名身份证号后系统自动调出所定票的信息确定退票后即可退票;修改航班信息模块输入航班号后会自动弹出该航班号的信息,确认修改后即可修改。

方块图如下;

E-R图:

流程图:

四、软件测试

航班信息的录入与查询可放在一块测试,在输入航班信息中输入航班号、起飞地、目的地、起飞时间、全票价、折扣及最终票价等信息然后再查询模块中查询看能否显示这些信息,显示是否正确。

输入航班号、起飞地、目的地、起飞时间、全票价、折扣及最终票价等信息:

查询所有航班信息与输入的信息比较看信息能否显示显示是否正确:

价、折扣及最终票价等信息是否与输入一致:

一切显示正常证明该功能没有错误。

订票的测试也可与查询连在一起,订票成功后,退出,进入查询航班信息界面看最终显示结果是否已经改变,是否与订票结果一致。

按航班号或目的地查找某个具体航班,查看具体座位信息,选择一个空座输入姓名、身份证号订票:

在航班信息查询中按航班或目的地查询找到该航班查询票是否已经定上,定票的信息是否一致,比如查看定的该票状态是否已由未定出(no)改为已定出(yes),再看姓名、身份证号是否与订票时输入一致以及空座位号上是否已减去该座位:

一切显示正常证明该功能没有错误。

退票同样也可与查询连在一块,输入姓名、身份证号找到定的票,选择退去的票确定退票,成功后在查询界面中查询查看该票的状态是否由已定出改为未定出,在在订票中查看该票是否还能定。

在退票中输入姓名、身份证号退票:

在航班查找中查看该票的状态是否由已定出改为未定出,再看作为信息等信息是否正确:

在订票中定该票看该票是否还能定:

在查询中看是否已定上:

一切显示正常证明该功能没有错误。

在航班信息修改中修改航班的一些信息在在查询中查看是否已经修改过来。在航班信息修改中修改航班信息:

在查询中查看信息是否已修改:

一切信息显示正确,证明该功能正确。

源程序:

#include

#include

#include

#include

#define M 10 /*飞机数量*/

#define N 5 /*,为简化,把每架飞机的座位总数弄少点*/

static int num=0; /*定义一个全局变量,记录正在运营的飞机总数*/ typedef struct{ /*飞机信息结构体数组*/

int flight_No;

char depature[20];

char destination[20];

char fly_time[50];

int many1[50];

int many2[50];

int discount[10];

int seat_No[N];

char state[N][10];

char buyer_name[N][20];

char buyer_ID[N][20];

}Flight_info;

char menu_selection(void)

{

system("COLOR 5"); /*设置DOS背景下字体颜色*/

char selection;

do{

system("cls"); /*清屏*/

fflush(stdin); /*清空输入流*/

printf("\t\t**************菜单****************\n");

printf("\t\t*| 1. 输入航班信息| *\n");

printf("\t\t*| 2. 显示航班信息| *\n");

printf("\t\t*| 3. 查找具体航班信息| *\n");

printf("\t\t*| 4. 订票预订| *\n");

printf("\t\t*| 5. 删除订票预订| *\n");

printf("\t\t*| 6. 修改航班信息| *\n");

printf("\t\t*| 0. 退出系统| *\n");

printf("\t\t**********************************\n");

printf("\t\t请选择(0-6):");

scanf(" %c",&selection);

getchar(); /*吃掉回车符*/

}while( selection>'5' || selection<'0' );

return selection;

}

void Output_vacant_seat(Flight_info flight[],int n,char search[]) /*显示空座信息*/

{

int i,j,sum=0;

printf("\t\t空座信息:");

for(i=0;flight[i].flight_No!=atoi(search) && strcmp(flight[i].destination,search)!=0 && i

if(i

相关文档
最新文档