飞机订票系统分析与设计

飞机订票系统分析与设计
飞机订票系统分析与设计

长沙理工大学

《程序设计实践》课程设计报告

张昭

学院计通学院专业计算机科学与技术班级计算机03-05 学号28

学生姓名张昭指导教师卢曼莎

课程成绩完成日期2006年9月20号

飞机订票系统分析与设计

学生姓名:张昭指导老师:卢曼莎

摘要:随着城市生活节奏的加快,飞机已经成为人们使用越来越频繁的交通工具,随之而来的问题是,如何能让旅客最快、最便捷的订到机票。这就需要一个合适的订票系统来处理航班、机票、旅客等信息,方便售票人员查询,插入,删除各种信息。

本课程设计结合实际的订票、售票制度,经过实际的需求分析,采用功能强大的VC 作为开发工具、SQL作为数据库开发出来的飞机订票管理系统。本文首先阐述了飞机订票管理系统的需求分析,描绘了本飞机订票管理系统的基本模型图。通过对数据库技术的现状与发展、数据库系统的选择原则、系统开发工具的选择一系列问题的分析,确定了系统的开发平台。详细给出了从飞机订票管理系统分析到总体设计详细设计与实现及测试的各个环节,最后对本系统做出了客观评价,指明了系统的现实意义、缺点以及系统的升级方向。

关键词:飞机订票系统;数据库;SQL

1需求分析

为了方便旅客,拟开发一个机票预订系统。旅行社工作人员把预订机票的旅客信息(姓名、性别、工作单位、身份证号码、旅行时间、旅行目的地等)输入系统,系统为旅客安排航班,印出取票通知和帐单,旅客在飞机起飞前一天凭票通知和帐单交款取票,系统校对无误即印机票给旅客。

1.1用数据流图来描绘系统的逻辑模型:

旅行社工作人员是数据源点,旅客是数据终点。

图1-1 基本模型

必须完成的主要功能,将代替“订票系统”,可得

图1-2 细化模型图

将1.1、1.2、2.2 和3.1放在同一个边界内,这个系统将联机地接收信息、信息处理订票处理、更新订票清单处理及取票处理;将2.3 、2 .4和3.2放在同一边界内,以批量方式产生信息给旅客。

1.2 数据字典

表1-1数据字典

1 为把客户的数据要求清晰明确的表达出来,建立一个ER 模型。

图1-4 ER 模型图

2、IPO图能够方便地描绘输入数据。对数据的处理和输出数据之间的关系。下

图1-5 IPO图表

可采用VB、VF、VC、PB等算法来完成上述模块

2总体设计

经过需求分析阶段的分析过程,已粗略的表现了整个设计过程。总体设计阶段的基本目的是用比较抽象概括的方式确定系统如何完成预定的任务,也就是说,应该确定系统的物理配置方案,并且进而确定组成系统的每个程序的结构。因此,总体设计阶段要完成两个小阶段,首先要进行系统设计,从需求分析阶段的数据流图设想完成系统功能的最佳物理方案,然后进行软件结构设计,确定软件有哪些模块组成以及这些模块之间的动态调用关系。用结构图来描绘软件结构

将需求分析阶段的数据流图进一步细化,经分析从而得到软件结构图,如下:

取票信息

机票

图2-1 数据流图

图2-2 软件结构图

3详细设计

详细设计阶段的关键任务是确定怎样具体地实现所需要的目标系统,也就是要设计出程序的“蓝图”,除了应该保证程序的可靠行之外,使下一步即将要编的程序可读性好,容易理解,容易测试和容易修改,维护是详细设计阶段最重要的目标。

1)选择PAD 图作为完成详细设计的工具,根据总体设计中的数据流图可得PAD 图为:

p1.1 p1 p2

p1.2 c

p3 p3.1

p1:信息处理

p2:订票处理 p2.3 p3.2

p3:取票处理

c :旅客信息 p2.4

2)在总体设计中得出了软件结构设计之后,在详细设计阶段,可与使用面向数据结构地方法来设计每个模块的处理过程。选用Jackson 方法来描绘数据结构。

首先、得到数据结构的Jackson 图:

输入数据结构 输出数据结构

由数据结构的Jackson 图到处描绘程序结构的Jackson 图

4编码

人和计算机通信仍然必须使用人工设计的语言,也既是程序设计语言。编码就是把软件设计的结果翻译成计算机可以“理解”的形式——用某种程序设计语言书写的程序。机票预定系统采用PB(Power Builder)语言来编写程序。

基本界面:

工作前的准备工作

首先在power builder中创建Adaptive server anywhere本地数据库

其次将power builder与数据库连接即连库

接着在power builder中操作Adaptive server anywhere数据库的表

在使用数据库表之前首先要创建表。使用power builder的数据库画板创建表进入columns试图工作区

表4-1 passenger表

在创建一个名为plane_ message的表如下

表4-1 plane_mesage 表

(一)、创建界面前的还要做的准备工作

(1)首先建数据库,在连接数据库。

(2)建表

(3)填入数据

(4)建立数据窗

(5)修改标题存盘d—plane

(6)建立窗口(W—man)

主窗口(W—man)代码:

dw- 1. Settrans Object ( SQLCA )

dw- 1. Retrieve ()

(7)窗口open(打开)事件的代码:

SQLCA.DBMS=Profile String (“PB.INI”, “Database”, “DBMS ” ,“”)

SQLCA. Database=Profile String (“PB.INI”, “Database”, “Data Base”, “”)

SQLCA. Log ID=Profile String (“PB.INI”, “Database”, “Log ID”,“”)

SQLCA. Log Pass=Profile String (“PB.INI”, “Database”, “Log Pass word”, “”)

SQLCA. Server Name=Profile String (“PB.INI”, “Database”, “Server Name”, “” )

SQLCA. User ID=Profile String (“PB.INI”, “Database”, “User ID ”, “”)

SQLCA. DB Pass=Profile String (“PB.INI”, “Database”, “Database Password”, “”)

SQLCA. Lock=Profile String (“PB.INI”, “Database”, “Lock”, “”)

SQLCA. Db Pam = Profile String (“PB.INI”, “Database”, “Db Pam”, “”)

CONNECT;

W_ message:信息输入窗口

创建选项:

Title= “ 信息录入”;Window Type= “response!”;

dw _ message. Data Object = “d_ message_ Input”;

gb _ message. Text =“旅客信息”;

gb _ condition. Text = “查询条件”;

me _ passeng er_ name. Text = “姓名”;

sle _ passenger_ name . Text = “”;

me_ passenger _ number. Text = “身份证号码”;

sle_ passenger_ number . Text = “”;

me_ sex. Text = “性别”;

sle_ sex. Text = “”;

me_ company. Text = “工作单位”;

sle_ company. Text = “”;

me_ time. Text = “旅行时间”;

e m_ time. Mask Data Type = “date mask!”;

em_ time. Mask = “yy/mm/dd”;

me_ address. Text = “旅行目的地”;

sle_ address. Text = “”;

me_ plane id. Text = “航班”;

sle_ plane id. Text = “”;

cd_ save. Text = “ 保存”;

cd_ exit. Text = “退出”;

cd_ delete. Text = “删除”;

cd_ add . Text = “增加”;

cd_ retrieve. Text = “检索”;

cd_ exit.Cancel =TRUE

窗口的open事件代码为:

dw_ message. Set Trans Object (SQLCA)

dw_ message. Retrieve ()

sle_ passenger. number . Set Focus ()

Windows_ cen (this)

“身份证号码”编辑框(sle_ passnger-number)的modified事件代码为:

String ls_ passenger_ number

Long ll_ rows

ls_ passenger_ number = Trim(sle _ passenger_ number. text)

IF ls_ passenger_ number = “”THEN

dw_ message. Set Filter (“”)

dw_ message. Filter ()

sle_ passenger_ name. Text = “”

ELSE

Kw_ message. Se t Filter (“passenger _number =”’+ ls _ passenger _number +”’”)

dw_ massage. Filter ()

ll_ rows = dw _ message. Retrieve ()

IF ll_ rows<>O THEN

sle_ passenger_ name. Text =dw_ message. Object . Passenger _ name [1]

em_ credit. Text =string (dw_ message. object. Credit [1])

sle_ passenger_ number . Set Focus ()

ELSE

sle _ passenger_ name. Set Focus ()

END IF

END IF

“姓名”编辑框(sle_ passenger_ name)的modified事件代码为:

sle_ passenger_ name . Set Focus ()

“性别”编辑框(sle_ passenger_ sex)的modified事件代码为:

sle_ passenger_ sex. Set Focus ()

“工作单位”编辑框(sle_ passenger_ company)的modified事件代码为:

sle_ passenger_ company . Set Focus ()

“旅行时间”编辑框(sle_ passenger_ time)的modified事件代码为:

sle_ passenger_ time . Set Focus ()

“旅行目的地”编辑框(sle_ passenger_ address)的modified事件代码为:

sle_ passenger_ address . Set Focus ()

“航班”编辑框(sle_ passenger_ plane id)的modified事件代码为:

sle_ passenger_ plane id. Set Focus ()

“增加”编辑框(cd_ add)的clicked事件代码为:

Open (w_ message_ add)

IF

sle_ passenger_ name. Text =“”OK

sle_ passenger_ sex .Text = “”OK

s le_ passenger_ number . Text =“”OK

sle_ passenger_ company. Text =“”OK

sle_ passenger_ time. Text =“”OK

sle_ passenger_ address .text =“”OK

sle_ passenger_ plane Id. Text =“”OK

message box (“提示”其输入姓名、性别、身份证号码、工作单位、旅行时间、旅

行目的地和航班!”)

RETURN

END IF

sl_ row = dw_ message_ input. Inset Row (0)

dw_ message .Input . Scroll To Row (sl_ row)

dw_ message . Input. Set Row (sl_ row)

dw_ message. Input. Set Focus ()

“删除”按钮(cd_ delete)的clicked事件代码为:

int li_ ret

li_ ret = Message Box(“提示”,“确实要删除吗?”Exclamation! Yes/No!)

dw_ message. Delete Row (0)

IF dw_ message . Update ()=1 THEN

COMMIT;

ELSE

ROLLBACK;

END IF

END IF

“保存”按钮(cd_ save)的clicked事件代码为:

string ls_ passenger_ name, ls_ passenger_ number, ls_ passenger_ company, ls_ passenger_ time, ls_ passenger_ address, ls_ passenger_ plane Id int li_ credit

decimal ldec _ message

ls_ passenger_ name =Trim (ls _ passenger_ name. text)

ls_ passenger_ sex =Trim (ls_ passenger_ sex. text)

ls_ passenger_ number =Trim (ls_ passenger_ number. text)

ls_ passenger_ company =Trim (ls_ passenger_ company .text)

ls_ passenger_ time =Trim (ls_ passenger_ time. text)

ls_ passenger_ address =Trim (ls_ passenger_ address. text)

ls_ passenger_ plane id =Trim (ls_ passenger_ plane id. text)

li_ credit=Integer(em_ credit. text)

ldec_ message=Dec(en_ message. text)

INSERT INTO “message”

(“Passenger_ name”,

“Passenger_ sex”,

“Passenger_ number”,

“Passenger_ company”,

“Passenger_ time”,

“Passenger_ address”,

“Passenger_ plane Id”,

“Credit”,

“Message”)

V ALVES (: ls_ passenger_ name ,

: ls_ passenger_ sex,

: ls_ passenger _ number ,

: ls_ passenger_ company ,

: ls_ passenger_ time,

: ls_ passenger_ address ,

: ls_ passenger_ plane Id ,

:ls_ Credit,

:ldec _ Message);

IF SQLCA. SQL code<>0 THEN

ROLLBACK;

Message Box(“错误”, “存盘失败”, Stop sign!)

RETURN

END IF

Message Box( “提示”, “存盘成功!”)

sle_ passenger_ name. Text = “”

sle_ passenger_ se x. Text = “”

sle_ passenger_ number. Text = “”

sle_ passenger_ company. Text = “”

sle_ passenger_ time. Text = “”

sle_ passenger_ address. Text = “”

sle_ passenger_ plane Id . Text = “”

sle_ passenger_ number. Set Focus ()

dw_ message. Retrieve ()

“检索”按钮(cd_ retrieve)的clicked事件代码为:

Long ll_ rows

String ls_ passenger_ name , ls_ passenger_ number

IF Trim (sle_ passenger_ name. text)= “”and Trim (sle_ passenger_ number. text)= “”

THEN

Message Box( “提示”, “请输入姓名或身份证好嘛!”)

sle_ passenger_ number. Set Focus()

RETURN

END IF

ls_ passenger_ number = Trim(sle_ passenger_ number. text)

IF Len (ls_ passenger_ number)>0

THEN

dw_ message_ input. Set Filter (“passenger_ number =’”+ ls_ passenger _ number +’””)

dw_ message_ input . Filter ()

ll_ rows = dw_ message_ input. Retrieve ()

IF ll_rows=0,THEN

Message Box( “提示”,“无记录!”)

RETURN

END IF

sle_ passenger_ name. Text = dw_ message_ Input. Object_ name[1]

RETURN

END IF

ls_ passenger_ name = Trim (sle _ passenger_ name . text)

dw_ message _ input. Set Filter (“passenger_ name =’”+ ls_ passenger_ name +’””)

dw_ message_ input . Filter ()

ll_ rows = dw_ message_ input. Retrieve ()

IF ll_rows=0

THEN

Message Box(“提示”, “无记录!”)

END IF

sle_passenger_number.text=dw_message_input_object_passenger_number[1]

右边数据窗口控件(dw_ message _input)的clicked事件代码为:

String ls_ passenger_ number

Long ll_ rows

ls_ passenger_ number = this. Object. Passenger_ number [row]

dw_ message_ input. Set Filter (“passenger_ number =’”+ ls_ passenger_ number +’”)

dw_ message_ input . Filter ()

ll_ rows = dw_ message_ input. Retrieve ()

“退出”按钮(cd_ exit)的clicked事件代码为:

Close (parent)

5测试

软件测试在软件生命周期中横跨两个阶段。通常在编写出每个模块之后就对他做必要的测试(称为单元测试),模块的编写者和测试者是同一个人,编码和单元测试属于软件生命周期的同一阶段。在这个阶段结束后,对软件系统还应该进行各种综合测试,这是软件生命周期中另一独立的阶段,通常由专门的测试人员承担这项工作。

我们要通过测试发现错误之后还必须诊断并改正错误,即调试。我们在测试阶段所能做的,就是测试一个个模块。使之更完善。

6结束语

通过这次课程设计,了解了设计一个数据库系统的复杂性和对综合知识要求较高。因此在设计阶段我们查阅了很多资料,加深了对数据库知识的认识。在设计过程中,在需求分析、数据库概念模型设计、数据库逻辑模型设计、数据库实施设计阶段和同学进行了反复的讨论、研究逐渐完善了整个飞机订票管理系统。

在数据库逻辑模型设计阶段,将全局E-R图转换成关系模式,确定各关系模式的函数依赖关系,并且对依赖关系进行了规范化处理。同时为了更好满足不同用户的应用需求进行了关系调整,优化了数据库的运用。建立了基本结构表,并且对基本表给出了主键和外键,确定了其完整化约束。并确定了外模式和数据视图。

综上所述,我设计的飞机订票管理系统,符合关系数据库的基本体系结构,能够基本达到设计目的和要求。但同时我也深知,还有很多地方不足,希望老师指导和帮助,一定会逐渐完善这个系统的。

参考文献:

[1] 黄平主编.数据库技术.北京:机械工业出版社,2002.

[2] 蔡翠平陈虎《数据库技术》北方交通大学出版社清华大学出版社

[3] 卫海《PowerBuilder课程设计案例精编》中国水利水电出版社

[4] [美]William B. Heys著《PowerBuilder 6开发指南》电子工业出版社

[5]郑人杰,殷人昆,陶永雷.实用软件工程[M],北京:清华大学出版社,1997,1.

[6]Jiawei han,Micheline Kamber著,范明,孟小峰等译.数据挖掘概念与技术[M],北京:机械工业出版社,2001,8.

[7]史忠植.知识发现[M],北京:清华大学出版社,2002,2.

[8]Claude Seidman著,刘艺,王鲁军,蒋丹丹等译.SQL Server 2000数据挖掘技术指南[M],北京:机械工业出版社,2002,1.

[9]Microsoft Corporation. Component Object Model Technologies[EB/OL]. https://www.360docs.net/doc/9410017736.html,/com/default.mspx, 2005.

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

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定义 查询:对数据库的操作的一种,用于搜索数据信息。 插入:对数据库的操作的一种,用于将数据存入数据库中。

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

课程设计说明书(数据库系统) 题目: 在线机票预订系统的设计与实现 院系:计算机与工程学院 专业班级:计算机09-5班 学号: 2009302935 学生姓名:夏维强 指导教师:张金伟 2010 年 12 月 20 日

安徽理工大学课程设计(论文)任务书 计算机科学与工程学院计算机科学与技术系 2010年 11 月 20 日

安徽理工大学课程设计(论文)成绩评定表

摘要 随着信息技术在管理上越来越深入而广泛的应用,管理信息系统的实施在技术上已逐步成熟。管理信息系统是一个不断发展的新型科学,任何一个单位要生存要发展,要高效率地把内部活动有机地组织起来,就必须建立起和自身特点相适应的管理信息管理系统。 本文从软件的需求分析记忆软件功能,功能需求以及数据需求和设计概要等几方面阐述了系统的研究背景和形式,剖析了系统的内部构造以及操作方法。使得系统的功能和价值够完全的体现出来。采用Eclipse作为开发工具,以Oracle做数据后台,开发出来的网上机票预订管理系统。整个系统从符合操作简便,界面友好,灵活,实用,安全的要求出发,完成了网上机票预定的全过程,包括机票信息管理,客户信息管理,航线信息管理,系统管理等管理工作。论文主要介绍了本课题的开发背景所要完成的功能和开发过程。重点说了系统的设计的重点设计思想和系统的详细设计。 关键词机票预订;机票管理;航班信息管理

目录 摘要……………………………………………………………………………I 第一章系统需求分析 1.1系统开发背景 (3) 1.2软件主要组成及功能 (3) 1.3用户特点以及一般约束 (4) 第二章系统结构设计 2.1用户注册的DFD图 (5) 2.2用户订票的DFD图 (6) 2.3退票的DFD图 (7) 2.4机票信息查询的DFD图 (7) 第三章开发平台设计 3.1系统技术 (8) 3.2性能需求 (8) 3.3开发平台 (8) 第四章数据库设计 4.1管理员信息E-R图 (8) 4.2客机信息E-R图 (8) 4.3航班信息E-R图 (8) 4.4客户信息E-R图 (8) 4.5预订信息E-R图 (8) 4.6实体之间关系的E-R图 (8) 第五章系统的实现 5.1总体设计(系统总流程图) (15)

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");

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

《数据库原理及应用课程设计》 系统开发报告 学号: 姓名: 题目:机票预订系统 指导教师: 提交时间: 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 系统功能的基本要求 每个航班信息的输入 每个航班的坐位信息的输入 当旅客进行机票预定时输入旅客基本信息系统为旅客安排航班打印取 票通知和帐单 旅客在飞机起飞前一天凭取票通知交款取票 旅客能够退订机票

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,提高综合运用所学的理论知识和方法独立分析和解决问题的能力;

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

五、详细设计说明书 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.《软件工程导论》清华大学出版社张海藩编著

机票预订系统课程设计

内蒙古科技大学 《数据库原理及应用》课程设计说明书 题目:机票预订系统 学生姓名 学号: 专业:计算机科学与技术 班级:4班 指导教师:余金林

内蒙古科技大学课程设计任务书

一、教学要求 1.从附录一中选择一个题目进行数据库应用系统设计。 2.功能设计:用Visual FoxPro,Visual Basic、PB等开发工具与数据库管理系统SQL-SEVER或Access制作一个小型管理系统。所设计的小型管理系统应包含输入输出、查询、插入、删除等基本功能。设计课题可以从候选的项目中选出,根据题目的基本需求,画出流程图,编写程序,并写出详细的设计说明书。(本项实际系统设计与实现可选,但必须有功能设计过程) 3.数据库的设计: 根据数据库应用系统设计过程,通过需求分析和系统分析,进行数据库的概念结构设计、逻辑结构设计等工作: 概念结构设计的E-R图 数据库逻辑结构设计是以表格的形式说明数据库中有几个表,每个表的表名以及每个表的各字段名,类型和约束(主、外码); 确定表之间的关联(一对一、一对多、多对多) 运用数据库理论确定每个表至少属于3NF。 二、设计资料及参数 1、订单编号 2、航班编号、出发地、目的地、出发时间到达时间 3、机票编号、座位号、机舱等级 4、旅客编号、姓名、性别、身份证号 三、设计要求及成果 1.按照数据库应用系统设计步骤进行数据库结构设计。 2.使用开放工具及数据库管理系统开放应用系统(可选)。 3.书写论文(具体要求见论文模板)。 四、建议参考资料 《数据库系统教程》(第三版)施伯乐等著高等教育出版社

目录 内蒙古科技大学课程设计任务书 (2) 目录 (4) 第一章绪论 ......................................................... 错误!未定义书签。 课题简介 (5) 设计目的 (5) 设计内容 (5) 第二章需求分析 (6) 需求分析的任务 (6) 需求分析的过程 (6) 数据字典与流程图 (10) 第三章 ER模型图 (14) 实体属性图 (14) 总体ER模型图 (17) 第四章逻辑结构设计 (19) E-R图向关系模型的转换 (19) 数据模型的优化 (19) 第五章功能实现 (20) 查询功能的实现 (20) 多条件查询功能的实现 (20) 添加功能的实现 (21) 删除功能的实现 (22) 更改功能的实现 (22) 视图的建立 (23) 第六章源代码 (24) 第七章总结 (24) 第八章参考文献 (31) 附录 (32)

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

摘要 随着时代的进步社会分工的不断细化,各个行业联系的不断密切,人们出行越来越多,出行的方式也是百花齐放,作为空中重要的交通工具,飞机航空系统也在不断地得到优化, 其中重要的一项就是航空飞机订票系统,因此好的订票系统关系着人们的日常出行方便与否,设计并编制出符合人们需要的航空订票系统是一项繁重而艰巨的任务。 本文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 在《数据结构与程序设计》一书中,将一个数据结构的设计过程分成抽象层、数据结构层和实现层。其中,抽象层是指抽象数据类型层,它讨论数据的逻辑结构及其运算,数据结构层和实现层讨论一个数据结构的表示和在计算机内的存储细节以及运算的实现。 而本人的理解,数据结构通俗来讲就是将数据元素依据某种逻辑联系组织起来通过特定的算法将理论运用到生活中解决一些现实问题应用。在这次课程设计中,正是基于这样一种理念,在经过需求分析将实际情况综合起来之后设计并开发出了这样一个飞机订票系统。 本系统的主要功能是通过接收顾客的输入建立航班信息、顾客信息、订票情

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

第一章绪论 1.1:项目背景描述 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,上海到南京的航班起飞时间为星期二。 五、其它: 在实现系统基本功能后,完善系统的其它功能。在测试数据是发现退票系统出现问题,退票数会超过定额,在加上一个限定条件后成功。基于本系统可以尝试输出所定票的的顾客的完整信息,包括姓名,身份证号等个人信息,由于时间有限,尚未添加。

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,上海到南京的航班起飞时间为星期二。 五、其它: 在实现系统基本功能后,完善系统的其它功能。在测试数据是发现退票系统出现问题,退票数会超过定额,在加上一个限定条件后成功。基于本系统可以尝试输出所定票的的顾客的完整信息,包括姓名,身份证号等个人信息,由于时间有限,尚未添加。

飞机订票系统程序设计_课程设计.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++记录下读取到的航班数量等。因为在飞机订票系统中涉及到飞机的订票和退票业务还有按航班号的排序功能,所以我就定义了

数据结构课程设计(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()可

相关文档
最新文档