搜档网
当前位置:搜档网 › C语言程序设计课程设计飞机订票系统的设计

C语言程序设计课程设计飞机订票系统的设计

一、设计内容与设计要求

一、设计内容:

飞机订票系统

1.1问题描述:

假设某航空公司只有M架N个座位的飞机,每架飞机每天飞行一趟。通过该系统来实现机票的订购问题。

1.2功能要求:

1)、本系统采用一个包含N个数据的结构体数组,每个数据的结构应当

包括:起飞地、目的地航班号、座次号码、座次订出与否标记、订座者

的姓名和订座者的身份证号码。

2)、本系统显示这样的菜单:

(1)输入航班信息

(2)输出航班信息

(3)查找航班信息

a.显示空座的数量

b.显示空座的信息

c.显示已订座的信息

d.起飞时间

(4)订票预约

(5)删除定票预约

(6)退出系统

1、本系统成功执行菜单的每个信息,选项4)和5)将要求额外的输入,

并且它们都允许用户收回其输入。

2、查找航班信息既可按线路查,也可按目的地查。

4、在两次运行之间,数据被保存于一个文件里,当本程序重新开

始的时候,它首先从该文件读入数据

1.3 算法提示:

1、数据结构:结构体类型数组

2、数据库结构:下表构成该系统的基本数据库。

1.4测试数据:

每架飞机的座位N=12,M=5

1.5 其它:

对该系统有兴趣的同学可以在实现系统基本功能后,完善系统的其它功能。

二、设计要求

1).设计正确,方案合理。

2).界面友好,使用方便。

3).程序精炼,结构清晰。

4).设计报告5000字以上,含程序设计说明,用户使用说明,源程序清单及程序框图。

5).上机演示。

二、进度安排

第 18 周星期一上午课题讲解查阅资料

星期一下午系统需求分析模块设计

星期二上午算法、数据结构设计主程序设计

星期二下午各功能模块程序设计修改完善程序

星期五下午各功能模块程序设计修改完善程序第 19 周时间待定

星期五下午答辩

目录

一、需求分析 (4)

1、程序的功能 (4)

2、输入输出的要求 (6)

二、概要设计 (9)

三、详细设计 (11)

1、数据类型 (11)

2、模块分析 (12)

3、函数的调用关系 (12)

四、调试分析以及设计体会 (13)

1、测试数据 (13)

2、调试分析 (13)

3、心得体会 (14)

五、使用说明 (15)

六、附录 (17)

1、参考书目 (17)

2、源程序清单(带注释) (17)

七、计算机科学与技术系课程设计评分表 (40)

一、需求分析

1.1 系统功能需求

1.1.1程序的功能

1.系统管理员功能:

1)录入和修改航班和机票的信息:输入航班号,输入起飞港,途径港,到达港,录入起飞时间,到达时间,飞行总共用时,可随时修改航班信息2)输出航班的信息:输入航班号便可输出之前输入的航班信息

2.客户需要的功能:

1)查找航班信息:

a.显示空座的数量

b.显示空座的信息

c.显示已订座的信息

d.起飞时间

2)订票预约:查询航班信息后,提前订票预约需要的飞机票,

3)删除定票预约

4)退出系统

1.1.2 主要模块流程图

1.1.3 功能描述

1.1.4各功能模块的功能描述

(1)显示菜单函数:

FLIGHT fltlist[5]; PASSENGER psglist[5][12]; ReadFlight(fltlist);

PASSENGER* k;k=(PASSENGER*) psglist; ReadPassenger(k);

用户可以根据菜单提示,选择相关菜单。

(2)查找函数:

查询航班号函数chaxunhangban(FLIGHT fltlist[]),查询已定座信息函数chaxunyidingxinxi(PASSENGER* psglist),查空位信息函数

chakongweixinxi(FLIGHT fltlist[],PASSENGER* psglist),查空位个数函数chakongweigeshu(FLIGHT fltlist[],PASSENGER* psglist)。

本算法实现查找航班信息功能。用户可以根据航班号或起飞抵达城市查找航班信息。如果没有该航班信息,将提示相关信息。

(3)主控函数:

void main(void)从数据文件中读入航班信息,用户选择某菜单,实现调用该菜单功能的函数。

(4)订票函数:

void Book(FLIGHT fltlist[],PASSENGER* psglist)

本算法实现订票功能。用户输入订票信息后,该算法就会根据用户输入信息查找航班信息,找到就显示订票成功相关信息,且该航班票量减去用户订的票数。如没找到,则提供相关的其他航班信息。该算法功能可以循环执行。

(5)退票函数:

void tuipiao(FLIGHT fltlist[],PASSENGER* psglist)

本算法实现退票功能。用户可以根据自己的航班型号退票。

当用户输入航班型号退票,该算法会根据用户的航班型号查找储存在以

head为头节点链表中的客户信息,找到删除该客户信息节点,并输出退

票成功相关信息。否则提示没有该客户信息。

1.2 输入输出的要求

1.2.1输入的要求

输入必须按以下五个步骤进行:

1)输入航班号,航班号为0到4的数;

2) 输入起飞港,比如beijing;

3) 输入途径港,比如tianjing;

4) 输入到达港,比如shanghai;

5) 输入起飞时间,比如12:00;输入到达时间,比如14:00,输入总共用时,

比如02:00

1.2.2输出的要求

1)输入航班号,航班号为0到4的数;

2)输出结果为之前输入的数据;

二、概要设计

2.1引言

2.1.1编写目的

在本机票预定系统项目的前一阶段,也就是需求分析阶段中,已经将系统用户对本系统的做了详细的阐述,这些用户需求已经在上一阶段中对航空公司、各旅行社为及机场的实地调研中获得,并在需求规格说明书中得到详尽得叙述及阐明。

本阶段已在系统的需求分析基础上,对机票预定系统做概要设计。主要解决了实现该系统需求的程序模块设计问题。包括如何把系统划分成若干个模块、决定各个模块之间的借口、模块之间传递的信息。以及数据结构、模块结构设计等。在以下的概要设计报告中将对在本阶段中对系统所做的所有概要设计进行详细的说明。

在下一阶段的详细设计中,程序设计员可参考此设计报告,在概要设计对机票预订系统所做的模块结构设计的基础上,对系统进行详细设计,在以后的软件测试以及软件维护阶段也可参考次说明书,以便于了解在概要设计过程中所完成的模块设计结构,或在修改时找出本阶段设计的不足或错误。

2.2 模块

3.2.1 模块组成

本程序由六大模块组成,分别是主函数模块,查找模块,输入信息模块,输出信息模块,订票模块,退票模块。

3.2.2 模块功能

主函数模块:本模块的主要功能是调用各子功能模块,实现系统功能。

查找模块功能:查找模块实现信息的查找,包括显示空座的数量,订座的信

息,航班起飞的时间等信息。

输入输出模块的功能:实现数据信息的录入与输出。

订票模块功能块实现用户订票的功能。

退票模块功能:实现用户的退票要求。

3.2.3模块的调用关系

(见4.3函数的调用关系)

2.3任务概述

2.3.1目标

实现飞机票的预定与退订等目标。

2.3.2 运行环境

计算机配置均在Pentium 133级别以上,客户程序应能够在Pentium

级别以上,Windows 98 以上环境下运行。

2.3.3条件与限制

由于此系统仅仅是一个小的课程设计,尚未配给漂亮的界面,技术

上也有限制。

2.4数据结构设计

typedef struct _flight {

int m_fltno;

struct DATE {

int m_year;

int m_month;

int m_day;

} m_Date;

struct TIME {

int m_hour;

int m_min;

} m_start;

char m_szTo[30];

char m_szPass[30];

int m_seatno;

bool you_wu;

char m_szName[20];

char m_szNumber[19];

} FLIGHT;

三、详细设计

3.1 数据类型

根据设计要求,我们知道设计中所以用到的数据记录有航班信息和客户信息,因此要定义相关的数据类型:

3.2 模块分析

(1)主函数模块

本模块的主要功能是调用各子功能模块,实现系统功能。开头定义结构体,相关头文件及宏定义。通过switch语句进入界面函数,进而调用各功能函数。

(2)查找模块

查询模块由四个函数构成,分别为:查询航班号函数

chaxunhangban(FLIGHT fltlist[]),查询已定座信息函数

chaxunyidingxinxi(PASSENGER* psglist),查空位信息函数

chakongweixinxi(FLIGHT fltlist[],PASSENGER* psglist),查空位个

数函数chakongweigeshu(FLIGHT fltlist[],PASSENGER* psglist),

查找模块各函数通过循环语句for语句while语句等主要语句和结构体

成员psg.m_fltno,定义指针p等来实现。

(3)输入输出模块

输入模块由函数shuruFlight(FLIGHT fltlist[])实现,输出模块主要由函数shuchuFlight(FLIGHT fltlist[])实现。

(4)订票模块

订票模块由函数Book(FLIGHT fltlist[],PASSENGER* psglist)实现,定义strcpy,getchar函数通过while循环语句和结构体成员

psg.m_fltno,psg.m_seatno,m_Date,psg.m_Date完成指定任务。(5)退票模块

退票模块由函数tuipiao(FLIGHT fltlist[],PASSENGER* psglist)实现,定义指针PASSENGER *p,通过结构体,循环语句完成指定任务。

3、函数的调用关系

函数的调用关系图:

四、调试分析以及设计体会

1、测试数据

我们按要求输入整形数1,出现“请输入航班号0到5”的提示见下图:

然后按要求输入0,出现提示:请输入起飞时间,比如12:00

诸如此类按要求输入所测试的数据均正确,下面我们输入几组错误:

比如定票为0号票,在退票时输入1出现提示:座位是空的

再如输入航班信息,要求输入0到5的数,输入6结果如下:

数据测试无误。

2、调试分析

4.2.1清屏问题

如开始设计的程序每执行一个模块,输出结果都会留在界面上,为此加

入函数system("cls")后便得到了应有的清屏。

4.2.2 error C2143: syntax error : missing ';' before '}'这个错误虽然有

点低级,但却也是比较容易犯的一个错误,也不容忽视。

4.2.3error C2440: '=' : cannot convert from 'struct _iobuf *' to 'int' 4.2.4error C2065: 'fp' : undeclared identifier没有定义的使用系统不认识

那未定义的字符。

3、心得体会

之前没有做过程设计,所以在设计的过程中遇到很大的困难。大一第二学期才开始学c语言,陈老师是位很负责的老师,教书育人很有

一套,但我的编程基础还是很薄弱,于是我查阅了一些资料。比如在图

书馆借的王敬栋主编的《课程设计案例精编》,我获益匪浅。此次编程

设计中,我采用自顶向下的设计方法。即需求分析→总体设计→编码实

现→测试→维护。首先要了解做什么,有什么想法(总体设计),怎么

做,做完后上机验证。确定了各功能函数后,在确定所需的数据,在定

义数据类型。分模块的设计。

与同学老师交流非常重要,可以说假如没有同学老师的帮助,我是很难完成这份课程设计任务的。可见众人拾柴火焰高是没错的,团结

就是力量啊。互帮互助,共同进步。这里尤其要感谢做同一个课题的同

学何鹏,我深刻的体会到见贤思齐是多么重要的,深刻体会到基础是多

么重要。

编程时遇到错误是在所难免的,错误解决的过程是枯燥的。必须根据系统提示的错误返回到原程序中,分析查找错误,进行订正,再运行

调试,直到解决。问题得到解决的那一刻我是兴奋的,是自豪的,是对

c语言编程如此的感兴趣的。嘿,C语言还是挺有趣的。

经过若干次与程序的“磨合”,我最终完成了设计。实现了题目的相关要求,也对设计整体过程有了更深一层的认识,受益良多。

五、使用说明

1)从主菜单中选择需要的业务,如输入1出现按

要求输入0到4,如输入0,出现按要求输入便可。出现以下界面:

最后输入y或n表明是否还要继续修改。

2)从主菜单中选择需要的业务,如输入2出现按要求输入0到4,如输入0,按要求输入,出现以下界面:

查询完毕,选择y或n表明是否还要继续查询航班信息。

3)从主菜单中选择需要的业务,如输入3出现按要求输入1或2,如输入1,出现以下界面:

选择y或n,表明是否要继续寻找航班。

4)从提示中选择需要的业务,如上步中选择了y则步骤同3),如选择n则出现以下界面:

选择n则退出以上菜单,选择y则出现选择a—b的提示,如选择a则为:

选择y将重复以上4)步骤,我们选择n,将出现4)步骤的第一个界面,选择n则退出服务菜单,我们选择y,出现以下界面:

选择y则重复以上步骤,我们选择n将退出服务菜单。

5)从主菜单中选择需要的服务,如输入4出现按要求输入0到4,如输入0,出现以下界面:

选择n则将退出此服务,我们选择y,出现

输入如:2010,07,02,出现

选择y则订票成功,选择n则不订票。

6)从主菜单中选择需要的业务,如选择5,按要求输入出现以下界面:

选择y则退票成功,选择n则不退票。

7)从主菜单中选择6则退出此系统。

六、附录

1、参考书目

1.谭浩强《C程序设计》(第三版).清华大学出版社,2009。

2.王敬栋《课程设计案例精编》中国水利水电出版社,2006 2、源程序清单(带注释)

#include

#include

#include

#define M 5

#define N 12

//////////////以上是乘客数据结构。

typedef struct _flight { /* 航班数据 */

int m_fltno; /* 航班号 o*/

struct DATE { /* 订票日期 */

int m_year;

int m_month;

int m_day;

} m_Date;

struct TIME {

int m_hour;

int m_min;

} m_start;/* 起飞时间 o*/

char m_szTo[30]; /* 到达港 o*/

char m_szPass[30]; /* 途经港 o*/

int m_seatno; /* 座位号 o*/

bool you_wu;/*座次订出与否的标记o*/

char m_szName[20]; /* 姓名 */

char m_szNumber[19]; /* 身份证号,考虑到字母的情况,故使用字符串 */ } FLIGHT;

///////////以上是结构体。

void ReadFlight(FLIGHT * fltlist)

{

FILE *fp;

if ((fp = fopen("fltlist.dat", "rb")) != NULL)

fread(fltlist, sizeof(FLIGHT), M*N, fp);

else

{

FLIGHT* p;

p=fltlist;

int i,j;

for(i=0;i

{

for(j=0;j

{

p->m_fltno=i;

p->m_seatno=j;

p->you_wu=0;

p++;

}

}

fp = fopen("fltlist.dat", "wb+");

fwrite(fltlist, sizeof(FLIGHT), M*N, fp);

}

fclose(fp);

}

void shuruFlight(FLIGHT * fltlist )

{getchar();

FLIGHT * p;

FLIGHT fltlist1;

FILE *fp;

int j;

char c='y';

while (c == 'y' || c == 'Y')

{printf("请输入航班号(0<=航班号<%d):",M);

int i;

scanf("%d",&i);

while (i>= M ||i < 0)

{ printf("航班不存在,");

printf("请重新输入:");

scanf("%d", &i);

}

printf("请输入起飞时间,比如(12:00):");

scanf("%d:%d",&(fltlist1.m_start.m_hour),&(fltlist1.m_start.m_min ));

printf("请输入途经港,比如(tianjing):");

scanf("%s",fltlist1.m_szPass);

printf("请输入到达港,比如(shanghai):");

scanf("%s",fltlist1.m_szTo);

p=fltlist;

for(j=0;j

{

(p+i*N+j)->m_start.m_hour=fltlist1.m_start.m_hour;

(p+i*N+j)->m_start.m_min=fltlist1.m_start.m_min;

strcpy((p+i*N+j)->m_szPass,fltlist1.m_szPass);

strcpy((p+i*N+j)->m_szTo,fltlist1.m_szTo);

}

if(( fp=fopen("fltlist.dat", "wb"))==NULL)exit(0);

fwrite(fltlist, sizeof(FLIGHT), M*N, fp);

fclose(fp);

printf("修改成功,还要修改吗?(y/n)");

getchar();

scanf("%c",&c);

}

}

///////////////////////以上是输入航班函数。

void shuchuFlight(FLIGHT * fltlist )

{

getchar();

FLIGHT * p;

p=fltlist;

char c='y';

while (c == 'y' || c == 'Y')

{printf("请输入航班号(0<=航班号<%d):",M);

int i;

scanf("%d",&i);

while (i>= M ||i < 0)

{ printf("航班不存在,");

printf("请重新输入:");

scanf("%d", &i);

}

printf("起飞时间:");

printf("%d:%d\n",(p+i*N)->m_start.m_hour,(p+i*N)->m_start.m_min);

printf("途经港:");

printf("%s\n",(p+i*N)->m_szPass);

printf("到达港:");

printf("%s\n",(p+i*N)->m_szTo);

printf("查询完毕,还要继续查询吗?(y/n)");

getchar();

scanf("%c",&c);

}

}

///////////////////////以上是输入航班函数。

void AddPassenger(FLIGHT * fltlist )

{FILE *fp;

if ((fp = fopen("fltlist.dat", "wb")) != NULL)

{ fwrite(fltlist, sizeof(FLIGHT), M*N, fp);

fclose(fp);

}

else

{ printf("打开文件失败!按任意键退出。。。");

getchar();

exit(0);

}

}

void Book(FLIGHT * fltlist)

{char c='y';

FLIGHT * p;

p=fltlist;

while (c == 'y' || c == 'Y')

{ int i;

FLIGHT fltlist1;

printf("请输入航班号:(0<=航班号<%d)",M);

loop: scanf("%d", &fltlist1.m_fltno);

while (fltlist1.m_fltno >= M|| fltlist1.m_fltno < 0)

{printf("航班不存在,");

printf("请重新输入:");

scanf("%d", &fltlist1.m_fltno);

}

for(i = 0; i

{

if((p+i*N)->m_fltno== fltlist1.m_fltno)

{printf("检测未订的座位...\n请稍等...\n");

int j;

i=(p+i*N)->m_fltno;

p=fltlist;

int w=0;

for(j=0;j

{

if((p+i*N+j)->you_wu==0)

{

printf("%d\t",j);

w++;

}

}

if(w==0)

{printf("座位已满!请重新输入航班号:");

goto loop;

}

printf("\n以上是座位号,要订票吗?(y/n)");

getchar();

scanf("%c",&c);

while (c == 'y' || c == 'Y')

{printf("\n请输入订票日期:(yyyy,mm,dd)");

scanf("%d,%d,%d",&fltlist1.m_Date.m_year,& fltlist1.m_Date.m_month,&fltlist1.m_Date.m_day);

printf("请输入乘客姓名:") ;

C++课程设计报告飞机订票管理系统

C++课程设计报告飞机订票管理系统 一、设计背景和目的 随着航空业的不断发展,飞机订票系统逐渐成为人们旅游和出行的必须工具。为了提高飞机订票系统的效率和便捷性,开发一款好用的飞机订票管理系统显得尤为重要。本次课程设计即以C++为编程语言,设计一款简单实用的飞机订票管理系统。 二、系统功能 1、用户注册/登录 用户初次使用系统需要先进行注册,填写相关信息,包括用户名、密码等,并进行确认。之后系统将给用户分配一个专用ID。已经注册的用户可以通过输入用户名和密码进行登录。 2、航班查询 用户登录系统后,可以通过系统查询到航班信息,并可以进行筛选和排序,便于用户选择最优航班。 3、机票订购 用户选择航班后,可以进行机票订购操作。订票后,系统将保留座位,并且将相应信息存入系统数据库。机票订购成功后,系统将显示用户订票的详细信息。 4、支付系统 用户在订票后需要进行支付操作,支付成功后机票订购成功。 5、订单管理 系统管理员可以对用户订票信息进行管理,并且可以对订单信息进行统计和分析,改善系统运营效率。 三、技术框架和编程实现 本系统采用C++语言进行编写,使用了面向对象的编程思想,包括以下类: 1、User类 该类实现了用户的注册和登录功能。其中包含属性有用户名、密码等,包含方法有注册、登录等。

2、Flight类 该类实现了航班信息的查询和排序功能。其中包含属性有航班号、起飞时间、 到达时间等,包含方法有查询、排序等。 3、Ticket类 该类实现了机票订购和支付功能。其中包含属性有座位号、价格等,包含方法 有订购、支付等。 4、Order类 该类实现了订单管理和统计功能。其中包含属性有订单号、用户ID、航班号和票价等,包含方法有查询、删除、统计等。 以上四个类的成员变量和成员函数实现都需要在不同的源文件里面实现,最后 通过主函数进行调用和启动。 四、系统运行和测试 本系统可以通过Visual Studio等C++编程环境进行调试和运行。 在本地测试中,我们可以输入不同的用户名和密码,可以查询不同的航班,并 进行筛选和排序,可以订购机票并支付,也可以通过系统管理员身份对用户订单进行管理和统计。 同时,在不同的输入场景和网络环境下,也需要进行充分的测试和调整。 五、 本次课程设计意在学习并实践C++编程语言的应用,同时也对实际的软件开发 流程进行了一定的了解和实践。在未来的工作中,也需要不断学习新的技术和方法,以便更好地为用户提供高效、便捷、安全、实用的软件服务。

数据结构课程设计航空订票系统

航空客运订票系统的设计与实现 一、设计目的:设计一个航班订票系统,提高对信息管理、信息查找和排序算法 的应用能力。 二、问题的描述:航空客运订票的业务包括查询航线和客票预定的信、客票预 定和办理退票等,设计一个程序以使上述任务借助计算机完成。 三、数据结构的设计: 数之间的关系: 函数间关系图如下:

函数调用图如上,各个函数模块化设计,函数之间的数据传递少均通过函数间相互调用,把函数之间联系起来,这样函数的重用率高,设计代码的效率更高,用很好的实用性,很好的兼容性。 五、界面设计: Main 函数中通过switch 语句对于所有的模块进行整合。用户通过键盘通过提示输入相关信息。对航班信息的航线查询,通过城市查询航班,订票业务,退票业务,查询已定客户信息。 六、程序设计: 函数流程图: menu display refund save

find函数refund函数 list函数search函数

increlist函数order 函数 menu函数increqueue函数 display函数

print函数save函数 main函数流程图如上 问题: 1.问题1 (1)问题描述:输入时字符数组输入不稳定。 (2)解决办法:在反复尝试中还没发现,后来在同学帮助下发现是一些基础问题,对于链表中数组字符的如scanf("%s",&p->name);这样是有问题的.虽然是一个会的人看似很简单的问题,但对于意念中存在看这样问题的人是很严重

的。由此要多多与同学交流,特别是编程的思想理念,很是重要。对于个人存在的基本被错误要通过多编程序发现,并及时改正。细节很决定成败。 2.问题2 (1)问题描述:对于界面该觉很不舒服 (2)解决办法:通过网络上搜索,查询,发现界面的模块设计好之后程序的界面要精练实用,让用户操作方便,可通过switch很好的实现我的想法。 3.问题3 (1)问题描述:对于姓名的查找不知如何实现 (2)解决办法:通过查资料,看c课本发现一很好用的字符比较函数strcmp;通过字符比较是否等于0来实现对姓名的查找。 七、运行与测试: 1、测试的数据及其结果: 测试的数据从文件读取截图: 查询城市得到的结果:

C语言程序设计课程设计飞机订票系统的设计

一、设计内容与设计要求 一、设计内容: 飞机订票系统 1.1问题描述: 假设某航空公司只有M架N个座位的飞机,每架飞机每天飞行一趟。通过该系统来实现机票的订购问题。 1.2功能要求: 1)、本系统采用一个包含N个数据的结构体数组,每个数据的结构应当 包括:起飞地、目的地航班号、座次号码、座次订出与否标记、订座者 的姓名和订座者的身份证号码。 2)、本系统显示这样的菜单: (1)输入航班信息 (2)输出航班信息 (3)查找航班信息 a.显示空座的数量 b.显示空座的信息 c.显示已订座的信息 d.起飞时间 (4)订票预约 (5)删除定票预约 (6)退出系统 1、本系统成功执行菜单的每个信息,选项4)和5)将要求额外的输入, 并且它们都允许用户收回其输入。 2、查找航班信息既可按线路查,也可按目的地查。 4、在两次运行之间,数据被保存于一个文件里,当本程序重新开 始的时候,它首先从该文件读入数据 1.3 算法提示: 1、数据结构:结构体类型数组

2、数据库结构:下表构成该系统的基本数据库。 1.4测试数据: 每架飞机的座位N=12,M=5 1.5 其它: 对该系统有兴趣的同学可以在实现系统基本功能后,完善系统的其它功能。 二、设计要求 1).设计正确,方案合理。 2).界面友好,使用方便。 3).程序精炼,结构清晰。 4).设计报告5000字以上,含程序设计说明,用户使用说明,源程序清单及程序框图。 5).上机演示。 二、进度安排 第 18 周星期一上午课题讲解查阅资料 星期一下午系统需求分析模块设计 星期二上午算法、数据结构设计主程序设计 星期二下午各功能模块程序设计修改完善程序 星期五下午各功能模块程序设计修改完善程序第 19 周时间待定 星期五下午答辩

飞机订票系统课程设计

河南城建学院 课程设计报告书 专业:计算机科学与技术 课程设计名称:《数据结构课程设计》 题目:飞机订票系统 班级:0814122班 学号:081412220 姓名:郭晓甜 同组人员: 王彬宇 指导老师:张延红张芳芳杨斌 完成时间:2014年2月28日

摘要 随着时代的进步社会分工的不断细化,各个行业联系的不断密切,人们的出行越来越多,出行的方式也各种各样,作为空中的重要交通工具,飞机航空系统也在不断地得到优化,其中重要的一项就是飞机航空订票系统,因此好的订票系统关系着人么日常出行的方便与否,设计并编制出符合人们需要的航空订票系统是一项繁重而且艰巨的任务,需要我们认真去完成。 本文采用C作为前台开发工具,VC6.0作为程序代码的实现,旨在实现对现有飞行系统中遇到的各种情况进行良好的改进。 关键词:C,C++,VC6.0,数据结构,飞机订票系统;

目录 目录 (1) 第一章开发环境和开发工具 (1) 1.1 C#语言简介 (1) 1.2 开发背景 (1) 1.3 开发环境 (1) 第二章算法思想 (2) 2.1 系统需求分析 (2) 2.2 系统总体设计 (2) 2.2.1 系统设计目标 (3) 2.2.2 开发设计思想 (3) 2.2.3 系统功能模块设计 (3) 2.3 算法思想描述 (4) 第三章算法实现 (9) 3.1 数据结构 (9) 3.2 程序模块 (9) 3.3 各模块之间的调用关系 (9) 3.4 源程序代码 (10) 第四章测试与分析 (20) 4.1 测试数据选择 (20) 4.2 测试结果分析 (20) 总结 (22) 心得体会 (22) 参考文献 (23)

数据结构(C语言)实验报告_飞机订票系统

《数据结构》课程设计报告 一、订票系统 【需求分析】 本订票系统要能够实现航班情况的录入功能、航班的查询功能、订票功能、退票功能以及管理本系统的功能即能够修改航班信息。 具体分析如下: 1、录入功能 可以录入航班信息,如录入航班号,到达城市,起飞时间,飞机票数,票价。 2、查询功能 可以查询航班的各项信息,如可以查询起降时间,起飞抵达城市,航班票价,确定航班是否满仓,航班号。 3、订票功能 可以订票并且记录下乘客的相关信息如记录下乘客,,所订航班的航班号以及所订的票数。 4、退票功能 可以退票并且记录乘客的相关信息以及退票信息。 5、修改功能 可以根据需要由管理员对航班信息进行修改更正。 【概要设计】 1、算法设计:每个模块的算法设计说明如下: (1)录入模块: 查找单链表的链尾,在链尾插入一个“航班信息”的新结点。 (2)查询模块: 提供两种查方式:按航号和按航线查询,1代表按航号查询,2代表按航线查询。0则表示退出查询。 顺着单链表查找,如果与航班号(航线)一致,输出相关信息,否则,查询不成功。 (3)订票模块: 查找乘客要订的航班号,判断此航班是否有空位,有则输入乘客有关信息,订票成功,否则失败。 (4)退票模块: 输入要退票的乘客以及证件,查找乘客资料的链表中是否有这位乘客,有则删去此结点,并在空位加上1,无则退票失败。 (5)修改模块: 输入密码,确认是否有权限对航班信息进行修改,有则在航班信息链表中查找要修改的结点,进行修改,否则不能修改。 2.存储结构设计: (1)航班的信息:为了便于查找和修改,航班的情况存储结构采用单链表,每个元素表示一个航班的情况,包括航班号、起飞达到的时间、空座和目的的、票价以及限座七个数据项:

数据结构课程设计(C语言版)飞机订票系统

———C语言版 课题:飞机订票系统和图的遍历的动态演示 姓名: 学号: 班级: 指导教师:

订票系统 1.需求分析 任务:通过此系统可以实现如下功能: 录入:可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定) 查询:可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓); 可以输入起飞抵达城市,查询飞机航班情况; 订票:(订票情况可以存在一个数据文件中,结构自己设定) 可以订票,如果该航班已经无票,可以提供相关可选择航班; 退票:可退票,退票后修改相关数据文件; 客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。修改航班信息:当航班信息改变可以修改航班数据文件 要求: 根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能; 2:主要设计思路: 1)算法构造流程图: A:主菜单:

B:各分块模板的构造流程图:

3:功能函数设计: (1):订票系统主菜单函数 menu_select() 本函数主要构造系统的主菜单,系统需要实现很多功能,并且各个功能需要各自的函数支持,所以通过主菜单可以轻松的进入各个函数下实现各自的功能,故主菜单显得尤为重要。其实就是通过键盘输入选择项,然后通过scanf接受,在通过swtich判断进入各个选择项。 (2):工作人员管理函数 enter()&change() 系统需要各个航班的详细信息,所以需要工作人员把信息输入系统里,以供乘客查询订票。enter()函数的构造就是为了解决这个问题。而有可能航班线路更改或由于天气等原因飞机的起飞时间发生了更改,故工作人员需要及时更改信息,所以需要构造change()函数。 (3):列出航班信息的函数 list() 乘客需要查询各个航班的信息,所以通过系统要能调出上面工作人员已经录入好的航班信息,所以构造本函数来实现这个功能。(4)乘客具体查询函数 search() 本函数分两个分函数:search1()和search2(),它们分别实现乘客的按航班查询和按出发及抵达城市的两种查询方案。 (5)票务管理函数 book()&quit() 通过book()函数可以实现乘客的订票操作,通过quit()可

C语言课程设计报告(附程序代码--飞机订票系统)

xxxx大学xx学院 C 语 言 课 程 设 计 题目:飞机订票系统 专业:计算机科学与技术 班级: 姓名: 完成时间:

目录 第一部分:源程序(3-12页) 第二部分:函数流程图(13-25页) (1)menu函数流程图(第13页) (2)enter函数流程图(第14页) (3)Order函数流程图(第15页) (4)input函数流程图(第16页) (5)browse函数流程图(第17页) (6)Search_time函数流程图(第18页) (7)Search_end函数流程图(第19页) (8)search函数流程图(第20页) (9)void menu1函数流程图(第21页) (10)book函数流程图(第22页) (11)back函数流程图(第23页) (12)save函数流程图(第24页) (13)load函数流程图(第25页) 第三部分:心得体会(第26-27页)

第一部分:源程序 #include #include #include #define N 1000 typedef struct plane { char ID[10]; /*航班代号*/ char BePlace[10];/*飞机起飞地点*/ char EnPlace[10];/*飞机降落终点*/ char data[15];/*飞机起飞时间*/ int max;/*飞机最大乘客人数*/ int price;/*飞机票价*/ int num;/*飞机已售票数*/ }PLANE; PLANE ti[N]; int n;/*当前的航班数目*/ void menu(); void menu1(); void input(int i) { printf("请输入航班代号:\n"); scanf("%s",ti[i].ID); printf("请输入起飞地点:\n"); scanf("%s",ti[i].BePlace); printf("请输入降落地点:\n"); scanf("%s",ti[i].EnPlace); printf("请输入起飞时间:\n"); scanf("%s",ti[i].data); printf("请输入航班的最大载客人数:\n"); scanf("%d",&ti[i].max); printf("请输入航班的票价:\n"); scanf("%d",&ti[i].price); ti[i].num=0; }

数据结构c语言课设报告航空客运订票系统

数据结构C语言课设报告:航空客运订票系统 1、引言 随着互联网时代的到来,人们对于信息的需求越来越迫切。因此,在现代社会,各行业都在进行信息化建设,航空客运行业也不例外。本文将介绍一个航空客运订票系统,在该系统中,用户可以查询各个航空公司航班信息,查询余票情况以及进行订票。该系统不仅具有良好的用户体验,而且具有便捷性和安全性。 2、需求分析 2.1、功能需求 该系统需要具有以下功能: 1.查询航班信息:系统用户可以查询到各个航空公司的航班信息,包括航班号、起降时间、起降机场、价格等。 2.查询余票:系统用户可以查询到各个航班的余票情况,包括该航班的起价、 最高票价、已售票数等。 3.选择座位:用户根据自己的需求选择座位。 4.订票:用户可以根据选择的航班和座位进行订票。 5.退票:用户可以在规定时间内申请退票。 2.2、性能需求 该系统需要具有以下性能: 1.查询速度:查询速度应该尽可能地快。 2.稳定性:该系统需要保证系统的稳定性,响应速度不应该过于缓慢。 3.安全性:该系统需要保证用户的个人信息不被泄露。 4.易用性:该系统需要简单易用,用户不需要进行操作过程中多余的步骤。 3、系统设计 3.1、数据结构设计 该系统采用的数据结构有: 1.顺序表:存储各个航班信息及余票情况。

2.链表:存储用户的个人信息和订单信息。 3.栈:用于存储历史记录和退票信息。 3.2、功能模块设计 该系统的功能模块包括以下几个: 1.登录模块:用户输入账号密码进行登录。 2.查询模块:用于查询航班信息和余票情况。 3.订票模块:用于用户进行航班订票。 4.退票模块:用于用户进行退票操作。 5.历史记录模块:用户可以查询历史订单记录。 6.个人信息模块:用户可以修改和维护个人信息。 3.3、代码实现 代码实现上,我们使用C语言进行编写,根据需求分析的功能模块,分别完成 各个模块的代码实现。具体代码实现详见代码文件。 4、测试与应用 经过测试,该系统的功能模块均可正常运行。用户可以根据自己的需求查询航 班信息和余票情况,选择座位和进行订票操作。同时,系统也具有退票操作和历史订单记录功能。测试结果表明,该系统的查询速度较快,且具有较高的稳定性和安全性。用户体验良好,易于操作。 5、结论 在本文中,我们设计并实现了一个航空客运订票系统,该系统具有查询航班信 息和余票情况、订票、退票、历史记录查询等功能,同时具有查询速度较快、稳定性高、安全性好等优点。该系统能够为航空客运行业提供便捷、安全、高效的服务,为用户提供优质的服务体验。

航空订票系统(数据库课程设计)

《数据库设计与开发Ⅱ》课程设计报告航空订票系统 学院: 班级: 学号: 姓名: 完成时间:

目录 一.需求分析 (1) 1.引言 (1) 2.项目概述 (1) 3.需求规定 (2) 4.运行环境规定 (4) 二.系统结构数据设计 (5) 三.视图设计 (8) 1.E-R图 (8) 2.关系模式 (9) 3.数据流程图 (10) 四.逻辑结构设计 (11) 1.数据表描述 (11) 2.程序描述 (12) 3.功能描述 (13) 五.系统设计 (19) 1.系统功能分析 (19) 2.系统功能模块设计 (19) 六.项目总结 (20) 1.本项目设计的优点 (20) 2.项目实现流程 (20) 3.心得体会 (20) 第1 页共22 页

一、需求分析 1.引言 编写本套航空订票系统的《软件规格说明书》的目的在于根据软件需求说明书中的任务概述,需求规定等规划设计出一套可执行软件的结构模型。 1.1编写目的 (1)便于用户、分析人员和软件设计人员进行理解和交流 (2)希望系统的外部项(旅客、旅行社、航空公司)均支持目标软件系统的确认。根据需求规格说明书中确立的可测试标准进行测试,并得到确认。 (3)控制系统进化过程 1.2项目背景 随着社会的发展,人民生活水平的不断提高,人们出行的交通工具也跟随社会的发展而发展起来了。乘飞机出行的人越来越多。所以这方面的市场非常大。所以“机票预订系统”的开发是势在必行。经过对各方面人士对该系统功能的意见的调查,我们在此基础上确定了旅客与各航空公司所需要的“机票预订系统”。同时我们会不断更新该系统的功能来满足不断发展的市场需求。1.3项目描述 为各旅行社把预订机票的旅客信息(姓名、性别、工作单位、身份证号码、旅行时间、旅行目的地等)输入到该系统,系统为旅客安排航班。当旅客交付了预定金后,系统印出取票通知和帐单交款取票,系统核对无误即印出机票给旅客。此外为了航空公司能够随时掌握各航向飞机的乘载情况,而能够定期进行查询统计,以便适当调整 1.4定义 软件需求:IEEE软件工程标准词汇表(1997年)中定义软件需求为: (1)用户解决问题或达到目标所需的条件或权能(Capability)。 (2)系统或系统部件要满足合同、标准、规范或其它正式规定文档所需具有的条件或权能。 (3)一种反映上面(1)或(2)所描述的条件或权能的文档说明同工作,以及相互之间进行有效的交流和沟通。 1.5参考资料(标准) ⏹中华人民共和国国家标准UDC681.3: 《信息技术软件生存期过程》(GB/T8566-1995) 《计算机软件产品开发文件编制指南》(GB 8567-88) 《软件工程术语》(GB/T11457-1995) ⏹IEEE软件工程标准词汇表(1997年) 2.项目概述 2.1目标 该系统是要将航空订票管理系统信息化,使操作方便,且效率高。 2.2用户的特点 用户其实就是航空公司。而旅行社和旅客都是向航空公司提供数据,由航空公司操作数据。即航空公司是直接用户。 2.3假定与约束 对各航班班机的命名和航班号都要求与全国的各大航空公司的标准要求保持一致。各航班的出发城市,抵达城市,出发时间,抵达时间,价格,座位数

C语言课程设计报告飞机订票系统

C语言课程设计报告飞机订票系统 摘要 本文是关于C语言课程设计报告飞机订票系统,它具有灵活的菜单,可以让用户轻松 查看有关航班信息的详细信息,并用于购买操作。本文旨在概述程序的全部运行流程,运 用相关编程技术来实现订票系统。 关键词:C 语言课程设计,飞机订票系统,编程技术 1 引言 随着科技的不断发展,传统的人工订票系统已经不能满足人们的复杂需求,订票系统 需要采用新技术来改进,以适应现代用户的需求。为了建立一个高效的订票系统,我们开 发了一个飞机订票系统。它具有基于菜单式界面的灵活性,可以有效地实现飞机航班信息 的查询,购票和航班信息的管理。 本报告着重介绍了构筑飞机订票系统的过程,旨在介绍编程技术以及每个模块的函数、功能实现,并概述程序的全部运行流程。 2 技术框架 编写本程序的主要语言是C,采用层次功能模块结构设计,分为用户界面,数据管理,查询服务,支付服务和关系维护四个主要模块。 (1)用户界面 用户界面模块主要实现功能是提供用户访问的菜单界面,用户可以在输入信息后,访 问系统并根据输入信息获取反馈,进行下一步操作。 (2)数据管理 数据管理包含数据结构和文件管理模块,它用来存储和管理航班信息、乘客信息等有 关数据,数据在使用后可以及时写入文件。 (3)查询服务 查询服务模块提供用户查询航班信息所必需的功能,根据用户输入的查询条件,提供 精确的查询结果。 (4)支付服务 支付服务模块用来实现订票系统和外围支付系统或服务的接口,以进行订票支付操作,以保证系统订票的安全性。

(5)关系维护 关系维护模块主要负责订票系统的关系维护,保证数据的一致性,以及相联的航班和乘客信息之间的一致性。 3 设计实现 (1)用户界面模块 用户界面模块主要是用户与系统的交互界面,用C语言的标准输入输出实现,通过“while-switch”语句实现对不同功能的跳转。 (2)数据管理模块 数据管理模块采用数组和二维字符串实现,能够有效地存储和进行订票,查询,修改和删除数据。 (4)支付服务模块 支付服务模块采用简单的支付接口实现,确认订票支付已经进行,然后将支付结果返回给系统,用户可以使用信用卡开票。 (5)关系维护模块 关系维护模块采用结构体数组实现,通过航班号对航班和乘客信息进行统一管理,使得航班号和乘客信息不会出现不一致的情况。 4 结论 本文介绍了C语言课程设计报告飞机订票系统,它用户界面灵活,可以让用户轻松取得航班信息的详细信息,进行购票的操作。它的开发采用C 语言编程技术,并设计了灵活的模块继承层次结构框架,保证了系统的稳定性和可靠性。本文总结了使用菜单式界面来实现查询、购票以及关系维护等功能,根据用户输入的参数查询航班信息,定位到系统内的某个模块,并概述了程序的全部运行流程。

数据结构课程设计--飞机订票系统

数据结构课程设计--飞机订票系统

摘要 随着时代的进步社会分工的不断细化,各个行业联系的不断密切,人们出行越来越多,出行的方式也是百花齐放,作为空中重要的交通工具,飞机航空系统也在不断地得到优化,其中重要的一项就是航空飞机订票系统,因此好的订票系统关系着人们的日常出行方便与否,设计并编制出符合人们需要的航空订票系统是一项繁重而艰巨的任务。 本文Microsoft Visual C 6.0作为程序代码的实现软件,进行飞机订票系统的数据结构课程设计。首先,根据课程设计内容进行需求分析,确定主要的功能模块,。然后进行数据结构、各功能模块算法以及它们之间的调用关系的概要设计,做出各信息模块的数据结构表,并给出所用的结构体和结点类型。在此基础上,进行各功能模块的详细算法设计,做出各算法的流程图。最后,对系统进行测试,分为合法数据测试和非法数据测试,并对测试结果截图保存。本系统包含录入航班信息、订票、退票、查询航班信息、查询订票信息、修改航班信息和退出系统7个基本功能,经测试后健壮性良好。 关键词飞机订票系统;数据结构;C语言;单链表 i

目录 1 问题背景 (1) 2 问题分析 (1) 3 需求分析 (2) 3.1 用户需求分析 (2) 3.2 功能需求分析 (2) 3.3 系统需求分析 (3) 4 逻辑设计 (3) 4.1 数据结构 (3) 4.2 各功能模块间函数调用关系 (5) 4.3 函数说明 (5) 5 详细设计 (7) 5.1 录入航班信息 (7) 5.2 顾客订票模块 (8) 5.3 顾客退票模块 (8) 5.4 查询航班模块 (9) 5.5 查询订单模块 (9) 5.6 修改航班模块 (9) 6 程序调试与测试 (11) 6.1 合法数据测试结果 (11) 6.2 非法数据测试结果 (13) 7 结果分析 (15) 7.1 输入 (15) 7.2 输出 (15) 总结 (16) 参考文献 (16) ii

飞机订票系统

飞机订票系统 1、C语言课程设计飞机订票系统导老师:题目要求假定民航机场共有n个航班,每个航班有一航班号,确定的航线〔起始点,终点站〕,确定的飞行时间〔星期几〕和确定的成员订额.试设计一民航订票系统,使之能供应以下服务:1、航班信息录入功能〔航班信息用文件保存〕 2、航班信息扫瞄功能 3、查询航线:〔1〕、按航班号查询〔2〕、按起点站查询〔3〕、按终点站查询〔4〕、按飞行时间查询二、需求分析航班信息用文件保存;航班信息扫瞄功能需要供应显示操作;要查询航线需要供应查找功能,可供应依据航班号,起点站,终点站和飞行时间查询;另外要供应键盘式选择菜单以实现功能选择。三、总体设计依据需求分析,可以将这个 2、系统的设计分为如下五大模块:输入航班信息,保存航班信息,扫瞄航班信息,查找航班信息,退出。四、具体设计1、结构体设计建立航班结构体,结构体成员包括航班号,起点站,终点站,飞行时间〔星期几〕,预售票总数.structairtintcharcharcharintfir_num;start[20];terminus[2 0];firtime[10];count;}s[N];/*s[N]中每个数组元素依次对应一个航班信息*/[留意]s[N]中的N为同学个数,程序中釆用宏定义的方式,可以随时在源程序宏定义中改,本程序宏定义#defineN10000.2、主函数流程图主要程序:main 3、()//主函数intj;printf(z/-欢迎您到飞机订票系统一-『〕;printf(z/^lz^lz?J%#1%^7%^TXT%^T^T^T^T^TT^*1%*1%*1%^7^*

1%*1%*1%^T^T^T^T^T^T*********n)do(printfC〃〃〃1.请输入预定的飞机信息nn〃2.扫瞄所要预定的飞机信息nn〃3.查询所要预定的飞机信息nn〃0.退出系统nrT〕;r4?-4-^(;IIy**J%#y*打?*?y*y*y*y**?y**y**y**J%#y*打?*********n〃)printf〔,?留意:这个飞机订 4、票系统仅仅支持最近儿个星期的航班信息!!!nn〕;printf 〔z/请在0—3之间选择一个数字,然后按Enter:nn,z〕;scanf〔〃%d〃,j〕;switch(j)//利用枚举而选择其结构体中的一种{case1:input();break;case2:print();break;case3:search();bre ak;case0:break;}}while(j!=O);printfC感谢您使用我们的飞机订票系统n〃);}3、各功能模块设计仃八输入航班信息模块流程图:主要代码:voidinput()//输入函数的定义{charf[]「朱海侨〃;inty; 5、printfCz请输入密码,然后再按Enter:nn9;scanf(%s,f);if(strcmp(f,朱海侨)=0)printf(〃(printfC请按挨次输入飞机航班信息(飞机航班的信息是以0结尾的):nn〃);kJxxlxkJxvlxKLXkIxkIxKlxKlxXAXKlxXAXkIxK1XKlx^I^I ^I*********n〃);for(i=0;iN;i++)printf(请输入飞机号:rT);scanf(%d,s[i].fir_num);printf(/z请输入动身地:rT);seanf(%s,s[i].start);printf(请输入终点: 6、rT);scanf(%s,s[i].terminus);printf(请输入飞行时间:rT);scanf(%s,s[i].fir_time);printfC请输入飞机票序列号(序列号应当是以0结尾):nm);scanf(%d,s[i].count);m++;printfC该组

C语言课程设计订票系统

1 前言 编写一个订票系统,通过结构体数组、函数的运用,输入航班信息即可查询当天的线路信息和制定各类订票业务。 2 需求分析 要求 输入相应的航班可查询对应的线路信息,包括车号,目的地,订票数,余票数等项.还可制定相应的订票业务,即通过输入客户信息可办理客户订票和退票业务。 1、用C语言实现系统。C语言是函数式语言,一个函数是由数听说明部份和执行语句部份组成,一个程序是由一个或多个函数组成的。 2、系统的各个功能模块要求用函数的形式实现。C语言源程序是由函数组成的,函数是C源程序的大体模块,采纳函数模块式的结构,C语言易于实现结构化程序设计,使程序的层次结构清楚,便于程序的编写、阅读和调试; 3、完成设计任务并书写课程设计报告; 任务 (1)概念结构体类型数组; (2)画出save ( )、search( )、xiugai()模块的流程图; (3)编写代码; (4)程序分析与调试。 运行环境 (1)WINDOWS2000/XP系统 (2)编译环境 开发工具

C语言 系统流程图 如下图。 图系统流程图查询函数流程图 如下图。

图1

4 详细设计 分析和设计 输入客户信息,查询相应的线路信息,并依据客户需要办理订票或退票业务。程序采纳模块化设计,主函数是程序的入口,各模块独立,可分块调试,均由主函数操纵挪用。操纵功能的实现通过循环执行一个开关语句,该语句的条件值是通过挪用主函数取得的返回值。依照该值,挪用相应的各功能函数。同时设置一个断点,即当返回值为必然条件时终止程序,以避免造成死循环。 以下模块为程序的一部份: 1.save( ) 保留模块 数据的输入和输出是以终端为对象的,当程序关闭后,数据也就丢失了。 因此,为了能随时查阅数据,必需将数据输出到磁盘文件上保留起来。 利历时再从磁盘中读入到内存中。 2.search( ) 查找方式可分为“按航班查找”、“按终点站查找”、“按航线查找”,因此,需要概念一个switch循环,在0-3当选择,并以回车键终止选择相应的 查找方式。假设无需要的信息或查找完毕,那么键入yes或no以回车键 终止。 3.xiugai( ) 概念一个结构体数组来盛放航班号、时刻、换机票数、替换起始站、替 换终点站等信息。先输入密码,假设密码正确,那么挪用读取函数,进 入修改程序,并挪用保留模块保留修改后的信息;假设不正确,那么退 出程序。 具体代码实现

软件工程课程设计机票预定系统

软件工程课程设计机票预定系统 机票预订系统设计与实现 一、可行性研究 1引言 1.1编写目的 本文从各个方面讲解了机票预订系统在市场中的作用,以及说明机票预订系统能给旅客、航空公司和旅行带来的好处,为各个方面提供方便。 本文读者是航空公司分管售票方面的经理。 1.2项目背景 a. 开发软件的名称:机票预订系统 b. 项目的任务提出者:航空公司 c. 开发者:修宇(1)班软件工程课程设计第五小组 d. 用户:国内各大航空公司 e. 项目与其他软件或其他系统的关系: 本系统采用客户机/服务器原理,客户端的程序是建立在Windows NT系统上以PowerBuilder9.0为开发软件的应用程序,服务器端采用Linux为操作系统的工作站,系统中是采用Sysbase Adaptive Server Anywhere为开发软件的数据库服务程序。 1.3定义 数据库管理系统(DBMS)。 SQL: 一种用于访问查询数据库的语言 事务流:数据进入模块后可能有多种路径进行处理。 主键:数据库表中的关键域。值互不相同。

外部主键:数据库表中与其他表主键关联的域。 1.4参考资料 1.张海藩.软件工程导论(第四版),清华大学出版社,2003 2.郑人杰等.实用软件工程(第二版),清华大学出版社,1997 1 3.Software Engineering— A Practioner’s Approach,Roger S.Pressman,(英文版,第5版),机械工业出版社—McGraw-Hill,2001 4.文斌,刘长青,田园.软件工程与软件文档写作,清华大学出版社,2006 5. 6. 7.中国期刊全文数据库数字化期刊可行性研究前提 2.1要求 a. 主要功能:为游客提供机票预订服务,方便旅游局的售票工作,提高旅游局的 服务质量和服务效率。 b. 性能要求:机场提供的信息必须及时的反映在旅游局的工作平台上。售票系统 的订单必须无差错的存储在机场的主服务器上。以服务器上的数据必须进行及时正确的刷新。 c. 输入要求:数据完整,详实。 d. 输出:简捷,快速,实时。 e. 基本的数据流程和处理流程:略。 f. 安全与保密要求:服务器的管理员享有对机场航班信息库及机票信息库和弃权

(完整word版)C语言程序设计-航班管理系统

仲恺农业工程学院 C语言程序设计报告 航班信息管理系统 课程名称C语言程序设计 姓名 XXX 院(系)信息科学与技术学院 专业班级网络工程XX 学号 201320XX 指导教师 XXX 仲恺农业工程学院教务处制

目录 1 需求分析 (1) 2 系统总框图和功能模块说明 (1) 2.1 系统总框图 (1) 2.2 功能模块说明 (2) 3 系统设计 (3) 3.1 主要结构体 (3) 3.2主要功能函数 (3) 3.3 关键函数的流程图 (4) 4 系统调试 (5) 5 总结 (7) 6 源程序清单 (7)

1 需求分析 航班信息包括航班号、起点站、终点站、班期、起飞时间、到达时间、飞机型号、票价,八项信息。 试设计航班信息管理系统,使之能提供以下功能: ●系统以菜单方式工作 ●航班信息录入功能(航班信息用文件保存)--输入 ●航班信息浏览功能--输出 ●航班信息查询功能-算法(其中查询方式可以按学历查询、按职工号查询等) ●航班信息排序、筛选功能 2 系统总框图和功能模块说明 2.1 系统总框图 图1 系

统总框图 2.2 功能模块说明 输入航班信息模块,完成航班信息的录入。航班信息的录入前,录入系统先完成新建文件,检测文件是否存在的功能。检测完毕,采用循环的输入流程,以检测文件是否终止为循环的判定条件;输入信息时,以检测编号判断输入的信息与文件中的信息是否有冲突,防止输入的信息存在冲突;把航班信息一一输入后,判断其有没有存入文件中。 排序航班信息模块,完成航班信息中的价格排序,便于筛选信息结果的查看,排序是利用冒泡排序法,按照价格从高到低编排。 查询航班信息模块,根据输入的航班编号,查询航班编号的信息,。其过程中,首先是对输入的信息判断,判断输入的信息无误后再查询。 筛选航班信息模块,筛选模板分为四种不同条件的筛选,分别是起点站、到达站、起点时间、到达时间。利用字符串函数strcmp比较输入的筛选条件与文件中字符串是否一致为判断,利用循环结构把筛选条件与有效字符串一一作比较。

飞机订票系统模拟

摘要 (1) 前言 (2) 正文 (3) 1.问题描述 (3) 2.逻辑设计 (3) 3.详细设计 (5) 4.程序编码 (5) 5.调试与测试 (7) 6.结果分析 (9) 7.软件安装和使用说明 (10) 总结 (11) 参考文献 (12) 致谢 (13)

这项设计是以“数据结构”和“C/C++程序设计”为基础的实现飞机订票系统模拟的一项设计。通过这项设计不仅可以实现民航售票系统地简单的服务功能,还可以帮助我更好地理解线性表、队列等的存储结构及有关的基本算法,加深对所学知识的理解和掌握。 这项设计主要用到的知识有线性表、文件的建立、输入、读取、保存,队列的存储结构及其相关算法的实现,考查了排序及结构体、指针等的综合用运,在老师的帮助下,我顺利的完成了这项设计。 关键字:订票系统;线性表;队列;文件;数据结构。

课程设计是对学生实践能力的考查,通过课程设计可以增强学生的动手能力。培养学生严谨、细心、好学的精神,检查学生对知识的掌握情况,是教学中必不可少的一项重要环节。 该设计是对飞机订票系统的模拟设计,它可以实现民航售票处的计算机系统为客户提供的各项服务项目的模拟。 通过该题目的设计过程,加深了我对线性表及队列的逻辑结构、存储结构的理解,使我基本掌握了有关线性表及队列的基本运算的实现,进一步理解和熟练掌握课本中所学的各种数据结构,有效地把学到的知识用于解决实际问题,培养了我的动手操作能力。 此设计可以实现以下功能:(1)增加(录入航班情况);浏览(浏览航班信息);查找航线(根据旅客提出的终点站名输出:航班号、飞机号、日期);排序(按航班号排序);承办订票业务(根据客户提出的要求查询该航班票额情况,为客户办理订票);承办退票业务;修改航班信息(当航班信息改变可以修改航班数据)。 这是我的第一次课程设计,好多东西都不熟,在设计中出现问题是难免的,希望老师指点,感谢老师的帮助和指导,让我顺利的完成了这次课程设计作业!

航空订票系统 数据结构

一、设计课题: 我们设计的程序有三个,分别是:航空订票系统、24点游戏、旅游交通查询系统,为了用户的方便和更能体现C语言的模块化理念,我们把三个程序放到一个系统中去实现了。 二、设计内容 1、需求分析: 在完成课程设计的过程中,我们组合作为主,欧阳锦林主要负责程序设计与调试,王峰和段静缘主要负责资料收集与文档输入。设计完成后交流了各人收获与体会。 (1)、航空订票系统: 通过此系统可以实现如下功能: 1) 录入航线信息 每条航线信息包括航班号、飞机号、目的地、订票数、余票数共 5项。假设现在有3条航线, 目的地分别是北京, 上海, 广州, 飞 机上可乘坐100人( 即初始订票数为0, 余票数为100) , 将这3 条航线信息存入文件“airline.dat”中。 2) 订票业务 客户信息包括姓名, 航班号, 座位号(初始为0), 假设已有3个 客户信息存入文件“customer.dat”中。 有新客户订票时, 先输入客户的姓名和他提出的航班号, 查询该 航线的订票情况, 若有余票, 则为客户办理订票手续, 分配给客 户一个座位号, 然后将新客户的信息添加到文件 “customer.dat”中, 并修改文件“airline.dat”中该航线的订 票数和余票数。若无余票, 则输出客满信息。进一步可实现如果 该航班已经无票,可以提供相关可选择航班信息。 3) 退票业务 根据客户提出的航班号, 办理退票, 从文件“customer.dat”中 删除该客户的信息, 并修改文件“airline.dat”中相应航线的订 票数和余票数。 4) 修改航班信息:当航班信息改变可以修改航班数据文件。 5) 输出全部航线信息和全部客户信息。 6) 退出系统。 (2)、24点游戏: 基本要求及步骤: 1)随机产生四个1-13的数,分别代表13张牌。 2)提示玩家输入算式。 3)判断玩家输入的表达式是否合法,其中算式中的四个数字只能是程序所给的四个数字,非法则回到1)。 4)如果玩家认为这四张牌算不出24点(如:1,1,1,1),可只输入?,程序将判断这四张牌是否能得出24点,如果能,则程序 将给出算式,如果不能,说明不能,并回到1)。

相关主题