当前位置:文档之家› 飞机订票系统设计报告

飞机订票系统设计报告

算法与数据结构程序设计题目:飞机订票系统学院:计算机科学与过程学院专业:信息安全姓名:学号:指导教师:***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,否则返回上一级菜单,然后依照提示进行相关输入,最后将修改后的航班信息链表写入到航班信息文件中,并释放相关函数。

相关主题