飞机订票系统设计报告

飞机订票系统设计报告
飞机订票系统设计报告

算法与数据结构程序设计题目:飞机订票系统

学院:计算机科学与过程学院

专业:信息安全

姓名:

学号:

指导教师:王瑞霞

2011年9 月9 日

目录

引言 (1)

1.系统概述 (1)

2.课程设计的目的 (2)

3.需求分析 (3)

4.详细设计 (4)

5.所遇到的问题和分析解决 (10)

6.系统特色及关键技术 (10)

7.结论 (10)

引言:

当今时代是飞速发展的信息时代,科技的日新月异的发展必然会给人们的生活带来一定的变化。就数据处理方面来说,单纯的手工操作不仅工作量大、出错率高、更面临着修改难,时间成本过高的问题,寻求一种更为细致安全,高效率的数据管理方式成为人们日益探讨和追求的问题。而现代计算机的出现使者些成为了现实。从上世纪七十年代问世至今,计算机已经不是单纯的数据计算机器,它已经被广泛地应用于信息系统的环境。尤其对于复杂的信息管理,计算机往往表现出极高的效率和安全性。

本文论述的飞机订票系统是为公司的管理者提供的一种集录入、删除、查询修改、排序、统计等于一体的便捷的飞机订票系统。该系统主要使得顾客订票能够更方便快捷。为此,本系统能够给他们带来一些较为方便快捷的导航帮助。

本系统论述了飞机订票系统的开发目标、实现过程,并着重介绍了系统设计、所遇到问题的分析和解决、系统特色及关键技术等方面。

本文共分为6章:

1.系统概述

2.课程设计的目的

3.需求分析

4.详细设计

5.所遇到的问题和分析解决

6.系统特色及关键技术

7.结论(心得体会)

1.系统概述

数据结构是计算机存储、组织数据的方式,是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。

关于数据结构在计算机学界至今还没有标准的定义:

Sartaj Sahni 在他的《数据结构、算法与应用》一书中称:“数据结构是数据对象,以及存在于该对象的实例和组成实例的元素之间的各种联系。这些联系可以通过定义相关的函数来给出。”他将数据对象定义为“一个数据对象是实例或值的集合”。

Clifford A.Shaffer 在《数据结构与算法分析》一书中的定义是:“数据结构是ADT(抽象数据类型Abstract Data Type)的物理实现。”

Lobert L.Kruse 在《数据结构与程序设计》一书中,将一个数据结构的设计过程分成抽象层、数据结构层和实现层。其中,抽象层是指抽象数据类型层,它讨论数据的逻辑结构及其运算,数据结构层和实现层讨论一个数据结构的表示和在计算机内的存储细节以及运算的实现。

而本人的理解,数据结构通俗来讲就是将数据元素依据某种逻辑联系组织起来通过特定的算法将理论运用到生活中解决一些现实问题应用。在这次课程设计中,正是基于这样一种理念,在经过需求分析将实际情况综合起来之后设计并开发出了这样一个飞机订票系统。

本系统的主要功能是通过接收顾客的输入建立航班信息、顾客信息、订票情

况、退票信息等内容,在实际的生产生活中确保数据的可靠性和安全性。

2.课程设计的目的

数据结构课程设计是综合运用数据结构课程中的几种典型数据结构,以及程序设计语言(c语言),自行实现一个较为完整的应用系统的设计和开发。

通过课程设计,自己通过系统分析、系统设计、编程调试、写实验报告等环节,进一步掌握应用系统设计的方法和步骤,灵活运用并深刻理解典型数据结构在软件开发中的应用。

学会将知识应用于实际的方法。提高分析和解决问题的能力,增强综合能力。

2.1 飞机订票系统:

2.1.1 熟练掌握链表存储结构及其建立过程和常用操作;

2.1.2 学会自己调试程序的方法并掌握一定的技巧。

2.2课程设计内容

飞机订票系统(限1 人完成)

任务:通过此系统可以实现如下功能:

录入:

可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定)

查询:

可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓);

可以输入起飞抵达城市,查询飞机航班情况;

订票:(订票情况可以存在一个数据文件中,结构自己设定)

可以订票,如果该航班已经无票,可以提供相关可选择航班;

退票:可退票,退票后修改相关数据文件;

客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。

修改航班信息:

当航班信息改变可以修改航班数据文件

要求:

根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能.

3.需求分析

无论是做任何开发或者设计,我想,这都是一个必不可少的至关重要的阶段,飞机订票系统也不例外。首先,作为一个系统的管理者,需要高效细致地管理航班的相关资料,就必须得依据航班的实际情况对顾客的各个“板块”分门别类地建立适当的文件其次,一个顾客的流动要求本管理系统必须具备处理这些数据出入的能力。而我们更希望通过这样一个系统对顾客的某些信息一目了然,以便于

相关人员能及时地做一些航班上的调整。使用范围方面,管理系统顾名思义就是飞机的一般的管理阶层了。界面上为了尽量设计得人性化一些,采用了多分枝的SWITCH CASE 语句,并有询问用户继续操作或是退出的选择处理。对于输出,要求格式清晰,让人一目了然。如若出现无符合查询条件的员工信息,则系统会给出相应提示。

本次系统开发主要的开发环境是VC,但因为它可以在编辑的时候一边给予提示,避免了不少语法上的错误。而此次开发所用的编程语言-----C语言是得到广泛应用的程序设计语言之一,不同于C++面向对象的设计理念,它属于结构化程序设计语言,由于既具备高级语言的特性,又具有直接操纵计算机硬件的能力因而更适合于底层的技术开发。

本次要求编制程序,实现航班信息,顾客信息的存储结构,完成信息的录入、顾客退票、顾客订票、航班信息的修改、查询航班信息五个功能。

1.每条航线所涉及的信息有航班号,起飞时间,抵达时间,始发地,目的地,票价,折扣情况,座位总数,剩余座位数

3.1录入:

可以录入航班情况:

航班号,起飞时间,抵达时间,始发地,目的地,票价,折扣情况,座位总数,剩余座位数

3.2航班信息修改:

对要修改的航班信息重新输入

3.3航班信息的查询:(航班信息改变则航班数据改变)

可以查询某个航线的情况:

如可以通过航班号查询有关航班的信息(航班号,起飞时间,抵达时间,始发地,目的地,票价,折扣情况,座位总数,剩余座位数)

3.4订票:(订票情况可以存在一个数据文件中)

可以订票,若已无票,可以重新选择再进行

3.5退票:可退票,退票后修改相关数据文件

客户资料有姓名,证件号,订购机票数量,航班号

3.6在此程序设计中要求做到以下要求或者运用到以下知识点:3.6.1 熟练掌握根据问题需求抽象结构进而选择合适的物理结构的方法

3.6.2 掌握设计和调试应用程序的方法级技巧

3.6.3 掌握实用程序的开发与调试技术

3.6.4 线性结构和非线性结构

3.6.5 逻辑结构和物理结构

3.6.6 各种物理存储结构实现方式下各种运算的实现

4.详细设计

本系统涉及到三个文件,所以为了保持数据的一致性,所用操作都必须在三

个文件上同时进行。下面对本管理系统的各模块及其功能作详细介绍。

本系统的主要流程图如下

先说一下主函数吧,本系统作为一个关于飞机订票的管理系统,首先在界面上就要人性化一点。为了能提供多选择的操作,主函数内部选用了多分枝的switch case 语句,用户一进入到该界面系统就会自动提示请选择相应的操作,当用户选定后便可使用由系统提供的各种功能函数。而switch语句的外层是一个do-while循环,当用户按照提示输入时可以不断地操作,输入非法时则不予执行。

进入该系统,首先映入用户眼帘的是下面一个界面。从下图我们可以看到,该界面是一个人性化的界面,当用户登陆后可以自主选择需要进行的各项操作,

各项操作表面上是相互独立的,但实际上数据之间又相互关联。

下面是各部分的具体功能:

在头文件中宏定义了三个变量P_S、P_P、C_S,在其后的各项输入、输出中可以直接由其代替各自所表示的内容,从而使得程序的明朗,清晰化,不必在输入冗杂的代码来引起不必要的杂乱。此外还定义了航班和顾客两个结构体,其中航班结构体包含了航班号、起降时间、飞机的始发地和目的地以及飞机票价、折扣、座位总数和剩余机票输,二各科信息结构体中泽囊括了顾客姓名、证件号、所订机票数、所订航班号和订单号。

4.1飞机订票系统的初始选择主界面

4.2录入航班信息

选择1号功能,从主界面进入录入航班信息功能界面,输入航班的相关信息。在录入函数中依次输入航班的相关信息,包括航班号、其得时间、抵达时间、飞机始发地、目的地、票价、折扣情况、座位总数以及剩余机票数。在输入一个航班结束后再判断是否继续录入航班信息,选择继续是再次输入相关信息,否则直接回到主界面进行其他的操作。

4.3修改航班信息

在主界面中选择修改航班信息选项后进入修改航班信息界面,进行各项的航班信息的修改和重新录入。

在修改函数中,定义了number 变量来输入要修改的航班号,定义plane_inf 的指针p和指向它的头结点的指针。利用while来判断该航班是否为空或者存在,若存在则进入while内进一步查询,查到后则进行修改航班信息,完成后输出提示:您已成功修改ⅹⅹ号航班,否则输出提示信息:对不起,该航班不存在。而

后释放相关链表,单击任意键退出该修改界面回到主界面。

4.4查询航班信息

在查询函数中,定义变量choice作switch 的选择输入,定义变量number 代表航班号,定义飞机起降时间的变量,定义相关指针指向飞机结构体,便于输出的相关运用。用if判断该航班是否为空,若空,则单击任意键退出,否则进入do{}while循环体内进入查询选择界面:0:为返回主菜单界面;1:为用航班号查询航班信息2:为利用始发地来查询航班信息。在选择1后输入航班号,按下回车键后即可输出要查询的航班信息,选择2后则要求输入始发地,按下回车键后也同样可以输出该航班的相关信息。最后返回到主界面进行其他的操作。

4.5顾客订票功能

在订票函数中定义变量length,定义指向航班结构体和顾客结构体的两个指针,定义fp为顾客的信息文件指针,接着读取航班信息文件并初始化链表,如果航班结构体为空,清屏后返回,再读取顾客信息文件并初始化链表,将顾客结构体的统计的赋值给指针变量p1,再打开顾客信息文件,否则如果顾客想结构体不空,则找出最后一个结点,清屏后输入订票者的信息,包括姓名、证件号、

订购机票数量和航班号,然后调用xg_hb函数,实现对航班信息链表的修改,在此期间,完成订票功能是回有提示信息:提示:您已成功订票,订单号是:ⅹⅹ;否则,当条件不满足时,会有提示:继续订票请输入Y,否则返回上一级菜单,然后依照提示进行相关输入,最后将修改后的航班信息链表写入到航班信息文件中,并释放相关函数。

4.6顾客退票功能

由主界面进入退票界面,在退票函数中,定义个相关变量及指针,如果顾客结构体为空,单击任意键退出,清屏后返回。在退票界面输入客户姓名,证件号和订单号,判断如果顾客结构体中内容不空时,查找到顾客的姓名和已订机票客户相同姓名并且证件号相同同时订单号也相同的顾客则给予退票,继续判断.如果该结构体内容为空,则输出: 该顾客信息不存在,单击任意键退出,否则将链表信息重新写到文件中,使相关航班信息票数恢复,此后删除退票顾客信息结点,最后输出:退票成功,单击任意键退出,然后回到主界面。

4.7退出系统

在主界面选择0号功能,进入退出系统界面,按任意键退出系统。

以上为界面显示的一些功能选项及信息,此外还有一些函数后功能并没有直接额体现在其中,但又是不能缺失的:

4.8其他功能

4.8.1查找修改结点的函数

该函数用来查找待修改结点,并判断是否符合条件。当航班结构体不空时,如果当找到要查找结点是结束查找,否则继续查找。如果该结构体为空时,在订票界面中显示信息: 对不起,该航班不存在,不能订票,后返回主界面;如果当输入顾客要订票数大于航班剩余机票数时,在订票界面显示信息:对不起,该航班只剩ⅹⅹ张票,然后返回主界面。

4.8.2实现航班号查询

在该函数中,当执行还未到尾结点就找到相应航班,则显示:“符合要求的航班信息如下所示:”,如果一直都没有找到,则显示输出:“对不起该航班信息不存在”,否则显示输出相关的航班信息.

4.8.3实现始发地及目的地查询

在查找过程中,当指针还没有指向尾结点时就找到了始发地和目的地相同的结点时,就表示找到了要求的航班,从而输出该航班的信息,否则,则继续查找,一直到结尾,如果还没找到,则输出:“对不起,没有符合您要求的航班”,此外,当找到的航班有多个,还可输出:“共有ⅹⅹ个航班符合您的要求”。

4.8.4实现将航班信息文件以链表实现

该函数定义航班结构体指针变量: p_inf *p1, *p2, *p3, *head,定义文件指针fp,打开文件信息,如果文件为空,则打印输出:航班信息不存在,单击任意键退出,返回为空;初始化航班信息链表时,外层循环由do{}while引导,内层则辅以if -——else语句,在do{}while中首先赋值变量p1以动态空间,如果链表为空,变量p2永远指向最后一个结点,否则变量p3指向最后一个结点的前一个结点,而变量p2永远指向最后一个结点,循环外读取文件,释放p2,如果头结点为p1,则赋空值给头结点,否则最后一个结点为空,关闭文件,返回头结点。

4.8.5实现将顾客信息文件以链表实现

打开顾客文件信息时,如果文件为空,输出:顾客信息不存在,单击任意键退出,返回空值;然后初始化顾客信息链表,赋予变量p1动态空间,如果链表为空,变量p2永远指向最后一个结点,否则变量p3指向最后一个结点的前一个结点,而变量p2永远指向最后一个结点,循环外读取文件,释放p2,如果头结点为p1,则赋空值给头结点,否则最后一个结点为空,关闭文件,返回头结点。

4.8.6将航班信息链表写入到航班信息文件中

首先打开航班信息文件,当航班信息文件为空时,输出:不能打开航班信息文件,然后退出,否则,当链表不空时,将航班信息链表写入到航班信息文件中;最后关闭航班信息文件。

4.8.7将顾客信息链表写入到顾客信息文件中

首先打开顾客信息文件,当顾客信息文件为空时,输出:不能打开航班信息文件,然后退出,否则,当链表不空时,将顾客信息链表写入到顾客信息文件中;最后关闭航班信息文件。

4.8.8释放航班信息表

当航班信息链表不为空时,将p付给p1,p再指向下一结点,然后在释放p1。

4.8.9释放顾客信息表

当顾客信息链表不为空时,将p付给p1,p再指向下一结点,然后在释放p1。以上是个函数的相对独立定义使用,同时在他们的运用当中,有存在有不同程度,不同频率的函数调用,使得程序能够更加的完整,使用,并简洁。函数间的调用能够缩短一个函数之内的代码量,便于函数的阅读与调试,更易让人理解。

综上所述,即为整个函数的运行过程和一些函数功能与运用的分析,以下将对本次编程过程所遇问题加以分析了。

5.所遇到的问题和分析解决

在开发本系统时确实遇到了不少问题,以下就是关于这些问题的描述及其分析解决的过程。

在本次开发当中,选择运用了链表,因为这次是作为数据结构的课程设计,而数据结构中最常应用的就是链表的使用了,因而选择链表,就可以更能够加深对数据结构的理解和应用,虽然有的地方现在还不是很理解,不过书上的例子还是可以帮忙应用来实现相关功能,由此。我想尽管这门课程已经结束了,但我不能就此结束这门课程的学习。

5.1文件的建立

当建立文件时,多次建立都无法使用,在文件的读取,写入的时候,多次检查代码都无法正常运行,后来还是找了课本,重新看了上面的内容,理解了一些格式上的细节,和语言的描述才最终完成,不过感觉还是不大完善,看来,无论什么内容,隔得久了,不常用都是会失去它们,无论是多么简单的问题或者事情,久了就淡了,也就忘了,还是要不时的去回顾下啊,否则什么时候又在同一个地方出错,到时还真难处理啊,这可是得不偿失的,因而回顾以前的也总会有收获的,要看长远点。

5.2代码的重复、繁琐

代码因为程序的编写调试过程是由小到大逐个调试的,在调试完所有函数将其统一起来后,发现其实各个函数的内部都有一些代码是相同的,那就是函数的开头计算文件长度的那一段。发现很多地方代码有相似的,想直接复制过去,把变量等做相应改变,本来想把它们统一建立在一个结构体内,到时之改变类型就可以了,不过事实上发现,理想是美好的,现实是残酷的,我的水平还是无法调试处结果啊所以只能用老方式了。

6.系统特色及关键技术

本系统的特色在于界面非常友好,尤其在主函数方面,不仅主菜单运用了do-while语句与switch case 的结合使得用户可以自由选择需要执行的操作,在修改和查询等非级联操作功能里还内嵌了一个这样的结构,即switch语句的嵌套使用,do-while语句使得用户每执行完一次操作之后继续弹出选择菜单可以一直操作,直到用户按0退出结束,而switch-case的巧妙嵌套让用户能两级

菜单之间自由转换,避免了某些不必要的操作。

7.结论

本系统至今为止已经完成预想的功能----建立文件、显示文件的内容、修改航班信息、删除航班信息、查询航班信息、顾客的订票信息和顾客退票的信息,当然,由于本人水平上的局限,比如在录入航班信息的时候需要一个一个的录入,并没有直接建立在文件上,也没有通过文件来读取,而且,本次系统没有实现顾客信息的查询功能,不过界面的制作勉强达到预期的单独做出一个独立的界面。这样的问题也正暴露出我平时学习态度方面的不足,以前总以为把书本上的知识基本了解就够了,但真正面对题目时才发现无从下手。书到用时方恨少,这话说得一点都不假。

这是其中的一个方面。另一个方面,细节决定成败。在编写该程序的过程中,因为细节问题不注意,确实走了不少弯路。比如在尝试将删除函数内部文件计数的部分单独分离出来作为一个函数,调试时发现老有警告称文件指针fp未初始化。在反复查看后终于发现,漏掉了一条if语句。在补全之后,终于顺利运行。

除了以上这些,这次课程设计也加深了我对数据结构这门课程的理解。

数据结构是基础的一门课,对于有过编程经验的人,结合自己的编程体会去领悟它的思想;对于初学者,捡一种自己最熟悉的语言去分析它总之千万不要满足于只停留在语言的细节上,而是应该高屋建瓴的去领会数据结构的思想。随着编程经历的丰富和对它的体会越深入,最初接触是对一些思想可能只是生硬的记忆,随着学习的深入逐渐领悟了很多。还记得当初初学c语言,做的第一个实验就是敲Hello world ,当时就是一知半解的状态,对着明明只有几行的代码愣是调了半个小时才编译运行得出来。然后是看书上的程序,了解基本语法后模仿其中的写法,通俗点讲也就是邯郸学步的状态。虽然经历了实验考试,但其中的算法只知其然而不知其所以然。随着学习的渐渐深入,接触数据结构以后开始明白要真正理解一个程序就必须了解它的算法。算法是一个程序的灵魂,同样一个问题,好的算法不仅可以使程序节省许多空间开销,而且在时间代价上也会减少很多,真正起到事半功倍的作用。接着就是将所学知识运用到现实生活中,解决实际问题。而解决问题的第一步就是建模,把实际问题抽象成具体的模型,这是很关键的一步。然后才是设计算法,编写程序。程序的编写过程中书写的规范性是很重要但又往往容易被人们忽视的一点。众所周知,很多自认为是编程高手、老手的程序员能写出很好的算法,但是当面对企业的正规考核时往往“不幸落马”,究其原因,就是在代码书写时没有保持良好的习惯。殊不知,规范性的编程才是高质量的编程。高质量的编程编写出来的程序不仅简洁易懂,可读性强,而且可移植性高。同时,编写程序时还要注意在代码旁边适时地添加注释文字,帮助读者理解。文字不必太多,只要解释关键代码就行。不过,要养成习惯不是一朝一夕的事,必须在接触编程之初就严格遵守。不然就会像很多编程方面的“高手”,等到四处碰壁时才幡然悔悟,“亡羊补牢”,必定要花不少时间,而且难度上也要花不少功夫。所以,何不趁现在好好培养呢?

还要提的一点事,在这次飞机订票系统的开发过程中,我深感“程序要由小到大一步一步地调”这句话的正确性。不同与以往的实验,这次程序涉及到的函数较多,而且代码也不少,一开始时我还按照以前的习惯将程序都敲上去完整了才一步一步设置断点开始调,不仅费时费力,而且面对着屏幕上的一大堆错误还无从下手。后来还是听了前辈们的建议,把其它的函数注释掉,从创建函数开始

一个一个函数地调试,确保现有的函数没问题后再把另一个函数添加进来。这样的方法针对性强,缩小了搜索的范围,能很快地找出问题所在。不能不说,这的确是一个很好的方法。

回顾这一次的课程设计,除了做出了这个管理系统,我自己的收获也挺大。系统开发过程中遇到的一些问题也让我认识到自己的不足,同时也学到了许多有用的东西。真正的好程序不是靠设置断点单步调试调出来的,而是靠缜密的思考及详细的考虑。不过,要学习的地方还有很多,遇到不懂的问题要虚心请教,只有在学习的过程中不断发现自己的不足,积累经验,才能使自己有进一步的提高。

机票预订系统详细设计说明书

1引言 (3) 1.1编写目的 (3) 1.2背景 (3) 1.3定义 (3) 1.4参考资料 (4) 2程序系统的结构 (4) 3查询订票程序设计说明 (5) 3.1程序描述 (5) 3.2功能 (6) 3.3性能 (6) 3.4输人项 (6) 3.5输出项 (7) 3.6算法 (7) 3.7流程逻辑 (8) 3.8接口 (9) 3.9存储分配 (10) 3.10注释设计 (10) 3.11限制条件 (10) 3.12测试计划 (10) 3.13尚未解决的问题 (10) 4退票程序设计说明 (10) 4.1程序描述 (10) 4.2功能 (11) 4.3性能 (11) 4.4输人项 (11) 4.5输出项 (11) 4.6算法 (12) 4.7流程逻辑 (12) 4.8接口 (13) 4.9存储分配 (14) 3.10注释设计 (14) 4.11限制条件 (14) 4.12测试计划 (14) 4.13尚未解决的问题 (14) 4.1程序描述 (9) 4.2功能 (10) 4.3性能 (10) 4.4输人项 (10) 4.5输出项 (10) 4.6算法 (11)

4.7流程逻辑 (11) 4.8接口 (12) 4.9存储分配 (13) 4.10注释设计 (13) 4.11限制条件 (13) 4.12测试计划 (13) 4.13尚未解决的问题 (13)

详细设计说明书 1引言 1.1编写目的 在本机票预定系统项目的前一阶段,也就是概要设计阶段中,已经将系统用户对本系统的子模块功能做了详细的阐述,这些模块功能具体设计将在本报告中详尽得以叙述及阐明。 本阶段已在系统的概要设计的基础上,对机票预定系统做详细设计。主要解决了实现该系统程序模块具体设计问题。包括确定算法,数据结构,模块接口的使用,数据库的动态操作以及界面设计等。在以下的概要设计报告中将对在本阶段中对系统所做的所有详细设计进行详细的说明。 在下一阶段的编码过程中,程序设计员可参考此详细设计报告,在详细设计对机票预定系统所做的算法设计,数据结构以及数据库动态操作的基础上,对系统进行编码。 1.2背景 开发软件名称:机票预订系统。 开发者:张锐钦 用户:航空公司,旅行社,乘客 运行环境:个人电脑 开发平台:MyEclipse 7.0 Mysql数据库。 系统架构:该系统采用java+jsp完成,用AWT开发系统界面设计。 1.3定义 查询:对数据库的操作的一种,用于搜索数据信息。 插入:对数据库的操作的一种,用于将数据存入数据库中。

机票预订系统课程设计报告

《数据库原理及应用课程设计》 系统开发报告 学号: 姓名: 题目:机票预订系统 指导教师: 提交时间: 2015年12月 计算机工程系 目录 一.概述 (2) 1.1 课程实训目的与要求 (2) 1.2 机票预订系统 (2) 1.2.1 系统功能的基本要求 (2) 1.2.2 数据库要求 (3) 二.需求分析 (3) 2.1背景分析 (3) 2.2 功能分析 (3) 2.3 数据词典 (4) 三.概念结构设计 (6) 3.1概念结构设计的方法与步骤 (6) 3.2 局部 E-R 图设计 (6) 3.4总体概念 E-R 图结构 (7) 四.逻辑结构设计 (9) 4.1 逻辑结构设计 (9) 4.2 数据库表的建立 (10) 五.物理结构设计 (10) 5.1 表的建立与数据载入 (10) 5.2 视图建立 (11) 5.3 索引建立 (11) 5.4 存储过程 (11) 5.5 触发器 (11) 5.6 创建登陆账户和添加数据库用户 (12) 六.数据流图及程序结构框图 (13) 6.1 功能模块图 (13) 6.2数据流图 (13) 七.界面设计与功能测试................................ 错误!未定义书签。 7.1登录界面及代码 (14) 7.2 进入系统界面 (15) 7.3 订票过程 (15) 八.总结 (19)

一.概述 应用对数据库技术及应用的理论学习通过上机实践的方式将理论知识与实 践更好的结合起来巩固所学知识。 实践和巩固在课堂教学中学习的关于数据库的有关知识熟练掌握对于给定 实训任务的数据库的创建、基本操作、程序系统的建立和调试以及系统评价。 实践和巩固在课堂教学中学习的关于关系数据库原理的有关知识和数据库 系统的建立方法熟练掌握对于给定实际问题为了建立一个关系数据库信息管 理系统必须得经过系统调研、需求分析、概念设计、逻辑设计、物理设计、系 统调试、维护以及系统评价的一般过程为将来在学习工作中的应用打下基础。1.1 课程实训目的与要求 课程实训的目的是本次课程实训的主要任务是运用在《数据库原理及应用》课程中学到的理论知识来指导实践了解数据库设计过程及其实现方法学会用 数据库建模的方法解决实际问题。掌握数据库原理、范式理论、规范化等相关知识掌握数据库分析设计的具体步骤与基本方法掌握 SQL 语言的基本语法和 基本内容并能运用 SQL Server 2005 实现设计数据库掌握 SQL Server 2005 数据库、表、视图、约束、索引、存储过程、触发器的使用利用一种前台开发工 具实现数据库管理系统的开发实现特定的业务功能。通过综合课程实训提高 实践动手技能培养独立分析分析问题和解决问题的能力。 课程实训的要求本次课程实训的选题比较灵活可以是自主选题也可以 自己选择比较感兴趣的题目重点是完成数据库的分析、设计与实现题目要符 合《数据库原理及应用》的要求并且具备一定的难度和深度除此以外可以 从备选题目之外选择一个题目完成。 1.2 机票预订系统 在所给的实训题目中我选择的是机票预订系统的设计。 1.2.1 系统功能的基本要求 每个航班信息的输入 每个航班的坐位信息的输入 当旅客进行机票预定时输入旅客基本信息系统为旅客安排航班打印取 票通知和帐单 旅客在飞机起飞前一天凭取票通知交款取票 旅客能够退订机票

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

C语言课程设计报告 指导老师:

C语言课程设计报告 一、 C语言课程设计的目的 C语言的教学是学生根据课堂讲授内容,学生做相应的自主练习,消化课堂所讲解的内容;通过调试典型例题或习题积累调试C程序的经验;通过完成辅导教材中的编程题,逐渐培养学生的编程能力、用计算机解决实际问题的能力。具体来说: 1.进一步掌握和利用C语言进行程设计的能力; 2、进一步理解和运用结构化程设计的思想和方法; 3、初步掌握开发一个小型实用系统的基本方法; 4、学会调试一个较长程序的基本方法; 5、学会利用流程图或N-S图表示算法; 6、掌握书写程设计开发文档的能力(书写课程设计报告); 二、课程设计报告正文 (1)课程设计题目的原文; 假定民航机场共有n个航班:航班号、起始站、终点站、飞机号、飞机时间、乘员定额、余票量。试设计一民航订票系统,使之能提供下列服务: 航班信息录入功能(文件保存) 完成航班信息浏览功能; 查询航线(至少一种查询方式)。 (2)题目的分析(需求分析); 任务:通过此系统可以实现如下功能: 录入:可以录入航班情况(数据可以存储在一个数据文件中) 浏览:航班信息浏览功能需要提供显示操作; 查询:可提供按照航班号、起点站、终点站、飞行时间、查询,可以查询某个航线的情况(如,输入航班号,起飞抵达城市,确定航班是否满仓);另外 要提供键盘式选择菜单以实现功能选择。 要求:根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能。 可以建立航班结构体,结构体成员包括航班号、起点站、终点站、飞行时间、 预售票总数、已售票数。 (3)整体设计与模块划分;

根据需求分析,该程序可分为以下四大模块: 飞机订票系统 输入模块显示模块查询模块退出模块 (4)代码设计; 包括——各功能模块的流程图;重要模块中关键部分的代码分析;关键函数的算法设计和分析;等等; (一)主函数 (1)分析:主函数的功能比较简单,形式比较简洁,主要功能为:在系统中没有程序所要的文件时,为程序建立一个所需的文件;调用菜单函数。 程序中的各模块都要用到同一个文件,如果该文件不存在,则该程序就无法正常运行,增加第一个功能就是保证文件的可用切可打开!本来只要在主函数里调用各功能模块就行了,但是为了让程序能够方便的回到主函数里,所以就建立了一个菜单函数。 菜单函数的功能是替主函数调用个功能模块函数,因而设计的基本思路很简单,即:用一个输入来接受用户的选择,加以个循环来让输入错误的用户继续输入,直到输入正确为止;用一个switch语句来选择用户所要用到的函数。 (2)程序: void menu() { int n,w; do { puts("\t\t***********************MENU***************************\n\n"); puts("\t\t\t\t 1.enter new data"); puts("\t\t\t\t 2.Browse all"); puts("\t\t\t\t 3.Search"); puts("\t\t\t\t 4.exit");

5-飞机订票系统详细设计说明书

5-飞机订票系统详细设计说明书

文档编号: 版本号:v1.0 详细设计说明书 项目名称飞机订票系统 项目负责人何柳青 本文档编写者何柳青 项目开发者计算机081第二组 2010年12月4日

1.引言 1.1编写目的 本文档将对《飞机订票系统》的程序进行详细解析,是程序员编写代码的基础。本文档的读者是设计人员和程序员。 1.2背景 开发软件名称:飞机票订系统。 (1)项目任务提出者:中国民航及中国国际旅游开发公司。 (2)项目开发者:何柳靑,陆银琳,李欣纯,单国英,阿依古丽 (3)项目与其他软件,系统的关系:该系统采用现代流行WINDOWS操作界面。是标准的WIN32应用程序,可运行在WIN95 \WIN98 \WinMe \WIN2000 \WINXP \WIN7 \WINNT 等系统平台上的多任务应用程序。 1.3参考资料 《软件工程导论》清华大学出版社张海藩编著 《实用软件工程》清华大学出版社郑人杰等编著 《数据库系统概论(第三版)》高等教育出版社萨师煊王珊等编著《实用软件文档写作》清华大学出版社肖刚等编著 《软件工程》第3版人民邮电出版社张海藩等编著 2.程序系统的结构 本程序每个子系统所包含的单元文件名称及其程序层次结构如表所示,对于特别简单的程序模块,其程序层次结构非常简单,在此从略,仅给出较为复杂的程序层次结构。 2.1运行环境 (1) 设备 硬件最低要求:内存512MB,硬盘50MB以上 (2) 支持软件 操作系统:WIN95\WIN98\WinMe\WIN2000\WINXP\WIN7\WINNT等

2.2 系统组织结构 此飞机订票系统共分为两大模块:后台管理员模块和前台票务员模块。后台管理员模块功能为航班信息调整,包括增加新航班、删除航班、修改航班信息;前台票务员模块功能为乘客信息管理,订票管理,航班信息查询。 飞机订票系统 登录验证乘客 信息 管理 航班 信息 查询 航班 信息 管理 后台管理员验证 乘 客 票 务 信 息 修 改 前 台 票 务 员 验 证 乘 客 基 本 信 息 修 改 按 航 班 号 查 询 按 目 的 地 查 询 按 时 间 查 询 增 加 新 航 班 乘 客 订 票 修 改 原 有 航 班 订 票 管 理 改 签 删 除 航 班 退 票 乘 客 基 本 信 息 录 入 图1.飞机订票系统程序层次结构 后台管理员 管 理 员 登 录 航班 信息 管理 身 份 验 证 增加 新航 班 修改 原有 航班 信息 删除 航班 图2.后台管理员模块程序层次图

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

数据结构 课程设计报告 院系:信息管理学院 专业:软件工程 班级:软件Q1141 学号:11150132 姓名:王毅 教师:邓沌华 时间:2013. 4 一、问题描述 题目:飞机订票系统 题目要求: (1)可以录入航班情况 (2)可以查询某个航线的情况(如,输入航班号,查询起降时间, 起飞抵达城市,航班票价,票价折扣,确定航班是否满仓); 可以输入起飞抵达城市,查询飞机航班情况; (3)可以订票,如果该航班已经无票,可以提供相关可选择航班; (4)可以退票,退票后修改相关数据文件;

(5)当航班信息改变可以修改航班数据文件 二、系统分析及设计 1 2、概要设计 主函数中 flight a[15]; //全局航班数组,存储供测试的航班信息,一共15架飞机,航班信 息可以在所有文件中改变 o_customer co; //全局乘客数组存储已经买了票的顾客信息,顾客信息可以在所有文 件中调用、修改 int k = 15; //全局变量,当前的共有航班的辆数,也可被所有文件调用和修改供测试的航班情况如下:

○1按航班号查询航班int number_check() //有此辆航班则返回1,无则返回0 ○2按终点站查询航班int station_check() //有到该站的航班则返回1,无则返回0. ○3订票 int Init(int k);//录入乘客信息,订票成功返回1,否则返回0. order_f() //订票函数 { m = n = 0; m = number_check();//乘客选择航班号方式的查询航班,m = 1方可订票 n = station_check();//乘客选择终点站查询方法查询航班,n = 1,方可订票 if(Init(0) == 0){} //按编号查询,只显示一个编号的信息,票存在,但订票失败就给予其它方案 if(Init(k) == 0){}//按照终点站查询,订票失败时给予相应处理方法} ○4退票 void takeoff(){} //请用户输入他的证件号,避免同名现象造成的影响 //买票的乘客的信息已经存入全局数组中,直接从数组中找出该乘客信息,然后改变相应航班和乘客的信息

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

数据库课程设计报告题目飞机订票管理系统

目录 第一章概述 (2) 1.1项目背景 (2) 1.2 编写目的 (2) 1.3 开发工具 (3) 1.3.1软件定义 (3) 1.3.2 开发环境 (3) 第二章需求分析 (3) 2.1 问题述 (3) 2.2 ER模型图 (3) 第三章数据库逻辑设计 (4) 3.1 定义数据库表 (4) 数据库表 (4) 第四章软件功能设计 (6) 4.1 软件功能结构图 (6) 4.2软件划分模块 (7) 4.2.1 整体流程: (7) 4.2.2 航班信息查询模块 (8) 4.2.3 顾客查询模块 (10) 4.2.4 订票、退票功能 (12) 4.2.5 财务查询 (17) 第五章界面设计 (17) 第六章结束语 (18)

第一章概述 1.1项目背景 航空业作为运输行业的基础,要提高我国运输行业的整体水平,必须从基础抓起。订票系统是航空业从事生产和管理的基层单位,加强订票系统是航空业基础地位的关键,也是保障航空业业可持续发展的重要基石。 随着现在航空运输业的发展,机票预订系统也成为了航空运输业的软件副产品,目前的管理系统都是与数据库关联,故数据库的管理也成为很热门的研究对象。此项目是以数据库为支撑,java(eclipse)为平台而开发的。 1.2 编写目的 编写此项目的目的是为了进一步了解数据库的储存管理机制以及数据库与其他的语言语言工具之间关联和协作。也可以熟悉项目开发的流程,步骤,为以后编写其他的程序打下基础。 1,了解并掌握数据结构的设计方法,具备初步的独立分析能力; 2,初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能 3,提高综合运用所学的理论知识和方法独立分析和解决问题的能力;

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

攀枝花学院学生课程设计报告摘要 摘要 飞机在现代的生活中扮演者非常重要的角色。它能够快速的把人们送到自己想要去的地方,既快速,又方便。所以现在坐飞机时很普遍的。但是都到机场去买票浪费时间,因此,航空订票系统应运而生。有了航空订票系统,用户可以在该系统进行飞机票的查询,订票,退票等操作。方便了大家 关键词航空订票系统、查询、订票、退票

目录 摘要...................................................................................... I 1 需求分析 . (2) 1.1 需求概述 (2) 1.2 需求环境 (2) 1.3 功能描述 (2) 2 概要设计 (3) 2.1 程序功能模块 (3) 2.2 程序流程图 (3) 2.3 课程设计的思想 (3) 3 详细设计 (4) 3.1 程序初始化 (4) 3.1.1代码功能 (4) 3.1.2 功能实现代码 (4) 3.2 查询航班信息 (6) 3.2.1代码功能 (6) 3.2.3 功能实现代码 (7) 3.3 订票模块 (8) 3.3.1 代码功能 (8) 3.3.2 功能实现代码 (8) 4 测试与运行 (14)

5结束语.................................................................................................... . (16) 6 参考文献.................................................................................................... .. (17) 7附录.................................................................................................... . (18) 1 需求分析 1.1 需求概述 航线管理。每条航线所涉及的信息有:终点站名、航班号、飞机号、飞行周日(星期几)、乘员定额、余票量 客户管理。有关订票的客房信息(包括姓名、订票量、舱位等级(1,2和3)以及等替补的客房名单(包括姓名、所需标量)。

机票订票系统详细设计说明书

五、详细设计说明书 1.引言 (2) 1.1编写目的 (2) 1.2项目背景 (2) 1.3定义 (2) 1.4参考资料 (2) 2.总体设计 (3) 2.1需求概述 (3) 2.2软件结构 (3) 3.程序描述 (4) 3.1功能 (4) 3.2性能 (4) 3.3输入,输出项目 (5) 3.4程序逻辑 (7) 3.4.1、登录 (7) 3.4.2、查询系统 (7) 3.4.3、订票系统 (8) 3.4.4、修改系统 (8) 3.4.5、退票系统 (9) 3.5接口 (9) 3.5.1、用户接口 (9) 3.5.2、外部接口 (9) 3.5.3、内部接口 (9) 3.6存储分配 (9) 3.7限制条件 (10) 3.8测试要点 (10)

1.引言 1.1编写目的 在本机票预定系统项目的前一阶段,也就是概要设计阶段中,已经将系统用户对本系统的子模块功能做了详细的阐述,这些模块功能具体设计将在本报告中详尽得以叙述及阐明。 本阶段已在系统的概要设计的基础上,对机票预定系统做详细设计。主要解决了实现该系统程序模块具体设计问题。包括确定算法,数据结构,模块接口的使用,数据库的动态操作以及界面设计等。在以下的概要设计报告中将对在本阶段中对系统所做的所有详细设计进行详细的说明。 在下一阶段的编码过程中,程序设计员可参考此详细设计报告,在详细设计对机票预定系统所做的算法设计,数据结构以及数据库动态操作的基础上,对系统进行编码。在以后的软件测试以及软件维护阶段也可参考此说明书,以便于了解在详细设计过程中所完成的各模块算法设计,或在修改时找出在本阶段设计的不足或错误。 1.2项目背景 开发软件名称:机票订票系统 项目开发者:兰州理工大学软件工程机票订票系统开发小组: 用户单位:旅客、航空公司 1.3定义 数据字典:关于数据的信息的集合,也即对数据流图中包含的元素的定义的集合。 1.4参考资料 1.《软件工程导论》清华大学出版社张海藩编著

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

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

目录 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)

飞机订票系统设计与实现 (里面附有源代码!)

课程设计题目飞机订票系统 院系******* 专业*************** 姓名****** 学号********* 指导教师*** 2012年7月

1. 需求分析 1.1 问题描述 基于目前人们外出远行频繁,为方便乘客提前买票及优化飞机航空订票服务,需要开发一个飞机订票系统,此程序就是要实现航班情况的录入,查询,订票,退票以及航班的查询和修改等基本功能。本课程设计的题目为:飞机订票系统。 1.2 基本要求 1.2.1 输入的形式和输入值的范围 录入航班信息时,需要输入航班号,起降时间,起飞抵达城市,值为字符串;还需要输入航班票价,票价折扣,值为浮点型(float);还需要输入航班是否满仓,值为整型(int)(“1”表示已满仓,“0”表示没有满仓);如需要继续录入航班信息,要输入判别信息,值为整型(“1”表示继续录入航班信息,“0”表示停止录入航班信息)。 客户订票时,需要输入起飞抵达城市,然后选择航班进行查询,选择航班时需要输入航班号,值为字符串。 客户退票时,需要输入姓名,证件号进行退票操作,值为字符串。 查询某个航班的情况时,需要输入航班号,值为字符串;在查询某个航线的情况时,还可以通过输入起飞抵达城市来查询,值为字符串。 查询某个订单时,需要输入订单号,值为整型(int);或者需要输入客户姓名和证件号,值为字符串。 修改航班时,需要输入字符型数据选择进行何种修改操作;增加航班时,需要输入航班号,起降时间,起飞抵达城市,值为字符串;还需要输入航班票价,票价折扣,值为浮点型(float);还需要输入航班是否满仓,值为整型(int)(“1”表示已满仓,“0”表示没有满仓);如需要继续录入航班信息,要输入判别信息,值为整型(“1”表示继续录入航班信息,“0”表示停止录入航班信息);删除航班时,需要输入要删除的航班的航班号;修改航班时间时,需要输入要修改的航班的航班号,修改后的航班起飞时间和抵达时间。 1.2.2 输出形式 在所有操作后的输出中都显示操作是否正确以及操作后单链表的内容。其中删除操作后显示删除的元素的值,查找操作后显示要查找元素的位置。 录入航班情况时,输出显示添加航班信息是否成功。 客户订票时,当客户输入起飞抵达城市后,输出可供客户选择的航班信息;客户选择了航班后,输入提示信息告知用户订票是否成功。 客户退票时,输出客户退票成功或者无此客户,无法退票。 查询航班时,输出显示对应的航班信息,或者输出提示信息告知没有相应的航班信息。 查询订单时,输出显示对应的订单信息,或者输出提示信息告知没有相应的订单信息。 修改航班时,输出对应的提示的信息,提示操作是否成功。

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

飞机订票系统课程设计报告 指导老师: 班级: 学生姓名: 学号: 完成日期: 计算机科学与技术系

飞机订票系统课程设计报告 一、系统分析。 1.1根据飞机订票系统的设计目的,设计内容和设计要求。本团队对飞机订票系统这一基础管理系统的业务进行了细致的分析讨论。最终我们决定将整个系统分成7个主要模块。采用结构体这一数据结构来存放教师的信息。首先是信息录入模块,接下来输出模块,即浏览,查询,排序信息三个模块,最后是订票,退票模块。为降低操作难度,以及出错率,决定使用全局数组及变量进行操作。 1.2飞机订票系统简易图 二、系统设计 2.1总体设计(主要功能)

本程序包含六大主要模块①添加信息模块;②浏览信息模块; ③信息查询模块;④信息排序模块;⑤订票模块;⑥退票模 块。 整体程序采用全局数组fj(飞机)进行存储,全局变量pd(判断)作为标识变量。宏定义输出格式。采用Y,N的方式进行操作回退或继续操作的选择。 航班信息包括:航班号,起点,终点,票价,数量及订票标志量(隐藏信息)。 输入模块,使用分条输入,以减少错误率并方便操作。 浏览,查询及排序模块,组合成输出模块。多方式输出更便于观察并方便记录,同时为后续模块的执行提供操作基础。 订,退票模块调用查询模块实现其功能。 2.2 软件、硬件环境 软件环境 VC2009 硬件环境处理器 Intel(R) Core(TM) i5-3210M CPU @2.50GHz 2.50GHz;显卡 GTX650。 内存 4.0GB 操作系统 Windows 7 2.3主要数据结构和程序的关系说明 主要数据结构是结构体 struct hbxx //定义结构体数组,航班信息 {

飞机订票系统设计报告

算法与数据结构程序设计题目:飞机订票系统 学院:计算机科学与过程学院 专业:信息安全 姓名: 学号: 指导教师:王瑞霞 2011年9 月9 日

目录 引言 (1) 1.系统概述 (1) 2.课程设计的目的 (2) 3.需求分析 (3) 4.详细设计 (4) 5.所遇到的问题和分析解决 (10) 6.系统特色及关键技术 (10) 7.结论 (10)

引言: 当今时代是飞速发展的信息时代,科技的日新月异的发展必然会给人们的生活带来一定的变化。就数据处理方面来说,单纯的手工操作不仅工作量大、出错率高、更面临着修改难,时间成本过高的问题,寻求一种更为细致安全,高效率的数据管理方式成为人们日益探讨和追求的问题。而现代计算机的出现使者些成为了现实。从上世纪七十年代问世至今,计算机已经不是单纯的数据计算机器,它已经被广泛地应用于信息系统的环境。尤其对于复杂的信息管理,计算机往往表现出极高的效率和安全性。 本文论述的飞机订票系统是为公司的管理者提供的一种集录入、删除、查询修改、排序、统计等于一体的便捷的飞机订票系统。该系统主要使得顾客订票能够更方便快捷。为此,本系统能够给他们带来一些较为方便快捷的导航帮助。 本系统论述了飞机订票系统的开发目标、实现过程,并着重介绍了系统设计、所遇到问题的分析和解决、系统特色及关键技术等方面。 本文共分为6章: 1.系统概述 2.课程设计的目的 3.需求分析 4.详细设计 5.所遇到的问题和分析解决 6.系统特色及关键技术 7.结论(心得体会) 1.系统概述 数据结构是计算机存储、组织数据的方式,是指相互之间存在一种或多种特定关系的数据元素的集合。通常情况下,精心选择的数据结构可以带来更高的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。 关于数据结构在计算机学界至今还没有标准的定义: Sartaj Sahni 在他的《数据结构、算法与应用》一书中称:“数据结构是数据对象,以及存在于该对象的实例和组成实例的元素之间的各种联系。这些联系可以通过定义相关的函数来给出。”他将数据对象定义为“一个数据对象是实例或值的集合”。 Clifford A.Shaffer 在《数据结构与算法分析》一书中的定义是:“数据结构是ADT(抽象数据类型Abstract Data Type)的物理实现。” Lobert L.Kruse 在《数据结构与程序设计》一书中,将一个数据结构的设计过程分成抽象层、数据结构层和实现层。其中,抽象层是指抽象数据类型层,它讨论数据的逻辑结构及其运算,数据结构层和实现层讨论一个数据结构的表示和在计算机内的存储细节以及运算的实现。 而本人的理解,数据结构通俗来讲就是将数据元素依据某种逻辑联系组织起来通过特定的算法将理论运用到生活中解决一些现实问题应用。在这次课程设计中,正是基于这样一种理念,在经过需求分析将实际情况综合起来之后设计并开发出了这样一个飞机订票系统。 本系统的主要功能是通过接收顾客的输入建立航班信息、顾客信息、订票情

航空订票系统详细设计

详细设计报告 一、引言 1.1 编写目的: 本阶段在系统的需求分析的基础上,对航空订票系统做详细设计。主要解决了实现该系统程序模块具体设计问题。包括确定算法,数据结构,模块接口的使用,数据库的动态操作以及界面设计等。在以下的概要设计报告中将对在本阶段中对系统所做的所有详细设计进行详细的说明。 在下一阶段的编码过程中,程序设计员可参考此详细设计报告,在详细设计对机票预定系统所做的算法设计,数据结构以及数据库动态操作的基础上,对系统进行编码。 1.2 项目背景: 开发软件名称:航空订票系统。 用户:航空公司 运行环境:宿舍电脑。 开发平台:MyEclipse 7.0 PostgreSql数据库。 系统架构:该系统采用java+jsp框架 1.3 定义: 查询:对数据库的操作的一种,用于搜索数据信息。 插入:对数据库的操作的一种,用于将数据存入数据库中。 更新:对数据库的操作的一种,用于更改数据库中的数据信息。 PostgreSql: 系统服务器所使用的数据库管理系统(DBMS)。 SQL: 一种用于访问查询数据库的语言 事务流:数据进入模块后可能有多种路径进行处理。 主键:数据库表中的关键域。值互不相同。 外部主键:数据库表中与其他表主键关联的域。 1.4 参考资料: 需求分析说明书软件开发小组 软件工程齐治昌谭庆平宁洪等高等教育出版社 实用软件工程郑人杰等,清华大学出版社。 二、总体设计 2.1 需求概述 航空订票系统的总目标是:在计算机网络,数据库和先进的开发平台上,利用现有的软件,配置一定的硬件,开发一个具有开放体系结构的、易扩充的、易维护的、具有良好人机交互界面的机票预定系统,实现航空公司的机票销售的自动化的计算机系统,为企业的决策层提供准确、精细、迅速的机票销售信息。具体功能为用户把预定机票的旅客信息(姓名、性别、身份证号码(护照号码)、乘坐时间、出行始发地和目的地等)输入到系统中,系统为旅客安排航班。当旅客交付了预订金后,系统打印出取票通知和帐单给旅客,旅客在飞机起飞前一天凭取票通知和帐单交款取票,系统核对无误即打印出机票给旅客。此外航空公司为随时掌握各个航班飞机的乘载情况,需要定期进行查询统计,以便适当调整。同时还需完成旅客延误了取票时间的处理,航班取消后的处理,旅客临时更改航班的处理等。 根据可行性研究的结果和客户的要求,分析现有情况及问题,采用B/S结构,将机票预定系统划主要就是服务器端子系统。

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

摘要 飞机在现代的生活中扮演者非常重要的角色。它能够快速的把人们送到自己想要去的地方,既快速,又方便。所以现在坐飞机时很普遍的。但是都到机场去买票浪费时间,因此,航空订票系统应运而生。有了航空订票系统,用户可以在该系统进行飞机票的查询,订票,退票等操作。方便了大家 关键词航空订票系统、查询、订票、退票

目录 摘要........................................................................................................ I 1 需求分析 (2) 1.1 需求概述 (2) 1.2 需求环境 (2) 1.3 功能描述 (2) 2 概要设计 (3) 2.1 程序功能模块 (3) 2.2 程序流程图 (3) 2.3 课程设计的思想 (3) 3 详细设计 (4) 3.1 程序初始化 (4) 3.1.1代码功能 (4) 3.1.2 功能实现代码 (4) 3.2 查询航班信息 (6) 3.2.1代码功能 (6) 3.2.3 功能实现代码 (7) 3.3 订票模块 (8) 3.3.1 代码功能 (8) 3.3.2 功能实现代码 (8)

4 测试与运行 (14) 5结束语..................................................................................................................... ..16 6 参考文献 (17) 7附录..................................................................................................................... .. (18) 1 需求分析 1.1 需求概述 航线管理。每条航线所涉及的信息有:终点站名、航班号、飞机号、飞行周日

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

第一章绪论 :项目背景描述 1、课程设计性质与目的: C语言程序设计是一门实践性很强的课程。C程序课程设计是学习C语言程序设计的非常重要的实践环节,通过本课程设计使学生进一步巩固课堂所学,全面熟悉,掌握C语言程序设计的基本方法和技巧,进一步提高编写程序、分析程序及上机操作、调试程序的能力,让学生加深理解,提高动手操作能力及分析问题和解决问题的能力。 2、课程设计包含的知识点: 1.掌握并熟练利用C语言的基本数据类型与各种表达式,程序的流程控制语 句。 2.掌握数组的基本概念。掌握一维数组与二维数组的使用,掌握字符数组与 字符串的关系。 3.熟练掌握指针、地址、指针类型的概念及其使用。掌握指针变量的定义与初始化、指针的间接访问和表达式,掌握指针与数组、函数、字符串的联系4.掌握函数的定义,函数的返回值,函数的调用,函数的声明,函数的形式参数和实际参数之间的关系,了解函数的作用区间。 5.掌握结构体的概念,结构体类型的定义,结构体变量的定义和初始化,结构体成员的表示。结构体与指针、函数的关系。

第二章可行性分析 一、问题描述: 假设某航空公司只有N架X个座位的飞机,每架飞机每天飞行一趟。通过该系统来实现机票的订购问题。 二、功能要求: 1、本系统采用一个包含N个数据的结构体数组,每个数据的结构应 当包括:起飞地、目的地航班号、航班定额。 2、本系统显示这样的菜单: 1.)录入:可以录入航班情况(数据可以存储在一个数据文件中) 2.)浏览:航班信息浏览功能需要提供显示操作; 1、查询:可提供按照航班号、起点站、终点站、飞行时间、查 询,可以查询某个航线的情况(如,输入航班号,起飞抵达城市,确定航班是否满仓);另外要提供键盘式选择菜单以实现功能选择。 (1)输入航班信息 (2)输出航班信息 (3)查找航班信息 (4)订票预约 (5)删除定票预约 (6)退出系统 2、本系统成功执行菜单的每个信息,选项4)和5)将要求额 外的输入,并且它们都允许用户收回其输入。 3、查找航班信息既可按线路查,也可按目的地查。 4、在两次运行之间,数据被保存于一个文件里,当本程序重新开 始的时候,它首先从该文件读入数据 三、算法提示: 1、数据结构:结构体类型数组 2、数据库结构:下表构成该系统的基本数据库。 四、测试数据: 录入北京到上海的星期一起飞的航班,假设其定额为30,上海到南京的航班起飞时间为星期二。 五、其它: 在实现系统基本功能后,完善系统的其它功能。在测试数据是发现退票系统出现问题,退票数会超过定额,在加上一个限定条件后成功。基于本系统可以尝试输出所定票的的顾客的完整信息,包括姓名,身份证号等个人信息,由于时间有限,尚未添加。

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

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

目录 一.需求分析 (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.引言 编写本套航空订票系统的《软件规格说明书》的目的在于根据软件需求说明书中的任务概述,需求规定等规划设计出一套可执行软件的结构模型。 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) 《计算机软件产品开发文件编制指南》(GB8567-88) 《软件工程术语》(GB/T11457-1995) ?IEEE软件工程标准词汇表(1997年) 2.项目概述 2.1目标 该系统是要将航空订票管理系统信息化,使操作方便,且效率高。 2.2用户的特点 用户其实就是航空公司。而旅行社和旅客都是向航空公司提供数据,由航空公司操作数据。即航空公司是直接用户。 2.3假定与约束 对各航班班机的命名和航班号都要求与全国的各大航空公司的标准要求保持一致。各航班的出发城市,抵达城市,出发时间,抵达时间,价格,座位数

飞机订票系统程序设计_课程设计.doc

高级语言程序设计 课程设计报告 题目:飞机订票系统程序设计 专业: 班级: 学号: 姓名: 指导教师: 日期:

山东工商学院信电学院

1、程序基本功能要求 本程序首先输入用户名、密码进入系统;从菜单中选择可以输入机票信息对机票信息进行浏览、修改、查询、退订票等功能并可以通过其内部各类方 式或菜单内选项了解航班更细的信息。 (1)航班信息用文件保存,因而要提供文件的输入输出操作。 (2)航班信息的录入,其中包括了航班信息中的航班号、起始站、终点站、预 售机票数、已售机票数。 (3)航班信息浏览功能且提供显示操作。 (4)可以查询航线,查询方式有按航班号查询、按起点站查询、按终点站查询 按航线查询、按飞行时间查询五种,可从各个方面进行查询,方便快捷。 (5)承办订票和退票业务,可显示剩余票数和已买票数。当票数被订或被退时 票数会随之变化,统计较为灵活。 (6)提供键盘式选择菜单以实现功能选择。 2、总体设计. 编写一个飞机订票系统的程序使该系统能够实现对航班信息的录入、浏览、修改、查询以及订票、退票的功能。根据课程设计要求和本组人员的增补,首先要通过一个用户登录界面进入系统,其次要制作一个主菜单显示出各个操作的提示可供用户选择进而一步步地深入操作。根据主菜单的内容再进一步编制具体操作的函数,各个功能均用专门编制的函数来完成。因为飞机订票系统含有各航班的各项信息如航班号、航线、飞行时间、机票数目等必要信息所以就决定用刚学不久的结构体数组来存放航班的各项信息,这就是看到题目后的最初的思路。 在整个程序中,含有多种类型的头文件,包括了标准输入、输出头文件、字符串函数处理头文件、动态存储与释放函数头文件;在结构体数组中也对不同类型的数组进行不同的定义,例如: int flightno、int totalticket、char start[10]等;在各类信息的显示操作中,本系统在执行浏览、查询和退订票是充分利用函数的调用,利用switch()语句进行,简便实用;在此系统中,函数相互嵌套,形成了一个完整的系统。 本次设计需要编制初始化、建立数据文件、数据文件保存、增加航班信息、订票、退票业务等内容。首先需要设立一个初始化函数来得到航班信息。具体设计是第一次运行程序时自动生成保存航班信息的文件,并输入初始航班信息,待第二次开始就可以直接读取该文件获得已有的航班信息并可直接使用。运用了access函数判断文件是否存在。系统初始化后,没有寻找到数据文件则进行新建数据文件。此函数的作用就是进行新建文件数据的录入,运用到了文件指针的定义FILE *fp文件的打开fopen和关闭fclose、成块读写函数中的fwrite 运用for循环进行各组数据的输入,用m++记录下输入的航班数量并运用if 语句判断是否输入下一条航班信息,若不继续则返回主界面。系统初始化之后 若原始数据文件存在则进行文件内航班信息的读取以供接下来程序中的各个函数来使用。在该函数中同样运用到了文件指针FILE *fp、文件的打开fopen 和关闭fclose、成块读写函数中的fread、文件结束检测函数feof同时配合while语句控制文件的读取,m++记录下读取到的航班数量等。因为在飞机订票系统中涉及到飞机的订票和退票业务还有按航班号的排序功能,所以我就定义了

相关文档
最新文档