航空客运系统

合集下载

UML可视化建模(航空订票系统)

UML可视化建模(航空订票系统)

UML可视化建模(航空订票系统)《可视化建模与UML》课程结业报告课题名称: 航空客运订票系统建模姓名: ***学号: *******班级:指导⽼师: 夏⽼师完成⽇期: 2013.06.16⽬录第⼀章概述 (3)1.1系统开发的摸底和开发背景 (3)1.2系统功能 (3)1.3系统结构框架 (4)1.4开发环境 (5)第⼆章⽤例模型 (6)2.1⽤例模型简介 (6)2.2⽤例图的的含义及其作⽤ (6)2.3⽤例图及⽤例描述 (7)第三章类模型 (10)3.1类模型简介 (10)3.2类图的作⽤ (10)3.3类图 (11)第四章交互模型 (13)4.1交互模型简介 (13)4.2序列图简介 (13)4.3序列图的作⽤ (13)4.4序列图描述及其序列图 (14)第五章⾏为模型 (20)5.1⾏为模型简介 (20)5.1.1活动图简介 (20)5.1.2活动图的作⽤ (20)5.1.3状态图简介 (21)5.1.4状态图的作⽤ (21)5.2⾏为模型图 (21)5.2.1活动图及其描述 (21)5.2.2状态图及其描述 (23)第六章构件图和部署图 (25)6.1构件图简介 (25)6.2部署图简介 (25)第七章课程学习⼩结 (27)7.1课程⼩结 (27)7.2学习⼼得 (27)参考⽂献 (28)第⼀章概述1.1系统开发的摸底和开发背景随着科技与经济的发展,越来越多的⼈选择乘飞机,这跟我国的经济增长有很⼤关系,⼈们在追求快节奏的⽣活⽅式,所以做飞机⽆疑成了⾸选。

⽽且随着⽹络的盛⾏,航空订票系统就显得尤为重要,我们开发这个系统主要是为了⽅便⼤家,让⼤家能够快速、清晰、准确地了解航班信息,⽽不⾄于像以前那样排队等候,从⽽避免耽搁乘客⼤量的等待时间。

航空客运业务诞⽣已有进⼀个世纪了,作为现有交通⼯具中最⽅便快捷的⼀种,它确实地给⼤家的⽣活、出⾏带来了极⼤的⽅便。

随着航空客运业务多年来的发展,其售票业务也同样不断地发展。

软件工程实验报告实验二

软件工程实验报告实验二

软件工程实验报告实验二实实验报告课程名称软件工程实验项目实验二面向对象分析及面向对象设计实验仪器个人电脑系别___计算机科学与技术系____专业_____计算机科学与技术___组长姓名王海阔2010011187小组成员刘大伟_2010011195郑晓驰2010011192实验日期________2013-5-15_______成绩_______________________指导教师_田英爱1实验内容对航空客运订票系统,利用面向对象的软件工程思想和技术,对该系统进行分析。

2实验要求需要利用UML语言描述分析结果,完成系统的需求分析,并书写实验报告。

3实验工具与方法Micriosoftofficevisio2010画图工具Rationalroseenterpriseedition4实验结果系统名称:航空售票系统4.1根据选定系统,做出问题陈述,给出系统的用例图。

问题陈述:该航空客运售票系统能够实现旅客的订票、退票、查询余票、查询已经订票的旅客的信息、查询航班信息,旅客订票时提供的信息包括旅客姓名、身份证号、座位号、电话、航班号、起飞时间等,退票时提供的信息包括旅客姓名、身份证号、航班号、座位号、起飞时间等,查询余票时需要提供航班号以及飞机起飞时间,查询客户的信息需要提供旅客的姓名以及身份证号,查询航班信息需要提供航班号,下面是该系统的用例图注册收费系统收费退票旅客用户信息用户登录查询机票查询航班查询旅客信息查询现金支付POS机POS机支付自动售票机售票员订票注册成功4.2根据系统用例图,分别给出场景描述说明。

旅客买票前先注册,即在航空售票系统中录入自己的信息,注册成功之后,便可订票。

订票可以在柜台通过售票员直接订票,也可以在自动售票机上自己订票,当然都得先注册。

不管通过哪种方式订票都要缴费,收费系统会将旅客的现金或是通过POS机交的费用录入系统。

旅客退票时要先登录,在柜台或是在自动售票机输入自己的姓名等信息,然后系统会在旅客确认之后删除旅客的信息。

飞机客舱系统设计与优化

飞机客舱系统设计与优化

飞机客舱系统设计与优化飞机客舱系统设计与优化是航空工程领域的重要课题之一。

合理的客舱系统设计不仅需要考虑空间利用率和舒适性,还需要兼顾安全性和效率。

本文将探讨飞机客舱系统设计与优化的相关概念、挑战和解决方案。

一、飞机客舱设计的基本要素飞机客舱设计的基本要素主要包括座椅布局、内部装饰、空调通风、照明系统和噪音控制等方面。

1. 座椅布局座椅布局是客舱设计中的关键要素之一。

它需要考虑乘客的舒适度、行李储存空间以及逃生通道的设置等因素。

合理的座椅布局能够最大程度地提高乘客的舒适度,同时确保行李的储存和乘客的安全。

为了实现更好的座椅布局,航空公司通常会委托专业设计师进行设计,利用计算机模拟技术进行布局优化。

2. 内部装饰内部装饰是客舱设计中的重要组成部分。

它涉及到座椅材料、地板材料、天花板、墙壁等方面。

合适的内部装饰可以提高飞行体验,为乘客打造一个舒适、温馨的空间。

在进行内部装饰设计时,需要考虑材料的轻量化、易清洁和阻燃性能等因素,确保乘客的安全和舒适。

3. 空调通风系统空调通风系统对于保持客舱空气质量和温湿度的合适范围至关重要。

飞机客舱内人员密集,空调通风系统需要能够满足大量人员同时在客舱内的需求。

此外,还需要考虑到高原航班、长途航班和紧急情况等特殊情况下的空调通风需求。

科学合理的空调通风系统设计不仅能够提供舒适的乘坐环境,还能防止传染病的传播。

4. 照明系统照明系统对于提供舒适的乘坐环境和确保安全起着重要作用。

合理的照明设计可以减轻乘客的疲劳感,提高工作和休息的效率。

在进行照明系统设计时,需要考虑到灯光的亮度、色彩以及控制方式等因素。

特别是在夜间航班中,适当的灯光设计还可以提供更好的睡眠环境。

5. 噪音控制噪音是客舱设计中的一大挑战。

飞机发动机和气动力学噪音是主要的噪音来源。

噪音对乘客的身体和心理健康产生不良影响。

为了控制噪音,客舱设计中需要合理设置隔音材料、降噪设备以及减少噪音传递的路径。

二、飞机客舱系统设计的挑战飞机客舱系统设计面临着以下挑战:1. 空间限制飞机客舱的空间是有限的,因此设计师需要在有限的空间内平衡各种需求,如座位数量、行李储存空间以及逃生通道。

航空订票系统

航空订票系统

航空订票系统引言航空订票系统是一种为乘客提供航班查询、航班预订、座位选择、支付等功能的在线平台。

它使乘客可以方便地搜索和比较航班信息,并进行机票预订和支付。

航空订票系统的出现极大地方便了旅客的出行,使航空运输更加高效便捷。

功能特点航班查询航空订票系统通过与航空公司的数据库连接,可以提供全面的航班信息查询功能。

乘客可以根据出发地、目的地、日期等条件进行航班查询,并获得对应的航班列表。

在查询结果中,乘客可以查看航班的起飞时间、到达时间、航班号、航空公司等信息,以便做出合适的选择。

航班预订在航班查询结果中,乘客可以选择心仪的航班,并进行预订。

通过航空订票系统,乘客可以输入乘客信息、联系方式、选择座位等,并生成订单进行确认。

系统会实时检查座位的可用性,以确保乘客选择的座位仍然有效。

座位选择航空订票系统提供座位选择功能,使乘客可以根据自己的喜好选择座位。

系统会显示航班的座位图,乘客可以根据图中示意图选择合适的座位。

座位选择功能可以提高乘客的出行舒适度,满足不同乘客的座位需求。

支付航班预订完成后,乘客需要进行支付才能确保机票的有效性。

航空订票系统与支付接口相连接,可以提供多种支付方式供乘客选择,如信用卡支付、支付宝、微信支付等。

乘客可以根据个人的支付习惯选择合适的支付方式进行支付。

订单管理航空订票系统提供订单管理功能,乘客可以登录系统进行订单查询、修改、取消等操作。

通过订单管理功能,乘客可以实时了解订单状态,及时做出相应的处理。

系统也会提供订单的历史记录,以便乘客查阅。

技术实现前端技术航空订票系统的前端使用HTML、CSS和Javascript等技术实现。

前端页面负责与用户进行交互,展示航班信息、座位选择、支付界面等。

前端界面的设计需要具有良好的用户体验,方便用户操作和浏览。

后端技术航空订票系统的后端使用Java、Python等语言进行开发。

后端负责与前端进行数据交互,连接航空公司的数据库,进行航班查询、座位预订、支付等功能的实现。

简述民用航空的定义和分类

简述民用航空的定义和分类

简述民用航空的定义和分类民用航空是指以民用为目的的航空运输活动,主要包括民航运输、通用航空和公务机运输等。

民用航空与军用航空相对应,是指用于民众出行、货物运输、旅游观光以及政府和企事业单位的公务活动的航空运输系统。

民用航空可以根据不同的属性和用途进行分类。

下面将从不同的角度对民用航空进行分类介绍。

根据机型和航班性质,民用航空可以分为民航运输和通用航空两大类。

民航运输是指运营大型客机的航空公司提供的定期航班服务,主要承担长途、中长途客运任务。

这类航班通常拥有规范的航班时间表和固定的航线,服务范围广泛,包括国内和国际航线。

通用航空则是指非定期航班的运输活动,主要包括私人飞机、商务飞机、救援飞机、农业飞机等。

通用航空的航班时间和航线灵活,服务对象较为特定,主要用于商务出行、紧急救援和特定行业的服务。

根据航空器的起降场地,民用航空可以分为机场航空和非机场航空。

机场航空是指在正式建设的机场进行起降的航空活动,这类航空具有较为完善的地面设施和服务设施,安全性和便捷性较高。

而非机场航空则是指在非正式的起降场地进行的航空活动,比如草地、海滩、冰面等,这类航空的起降条件相对较为简陋,要求飞行员具备较高的飞行技术和经验。

根据航空器的载客量和使用范围,民用航空可以分为大型民航、小型民航和公务机航空。

大型民航是指载客量较大的民航航班,一般以大型客机为主,可以承载数百人的旅客。

这类航空主要用于国际和国内的长途客运,提供高效、安全的航空服务。

小型民航则是指载客量较小的民航航班,一般以小型客机为主,可以承载数十人的旅客。

这类航空主要用于国内的中短途客运,提供灵活、经济的航空服务。

公务机航空是指用于政府和企事业单位的公务活动的航空服务,主要包括公务机和商务机。

这类航空提供高效、便捷的出行方式,适用于高层管理人员和政府官员的出行需求。

除了以上的分类方式,民用航空还可以根据航空器的用途和航空运输的目的进行更细分。

比如按照货物运输和人员运输分类,按照国内航空和国际航空分类,按照航空器的机翼形式和推进方式分类等等。

航空客运知识点

航空客运知识点

航空客运知识点航空客运是指通过飞机进行旅客运输的行业和服务。

它涉及许多知识点,从航空器类型到机场运作,从安全要求到乘客服务。

本文将介绍一些重要的航空客运知识点。

1. 航空器类型航空客运涉及多种类型的航空器。

最常见的是民航客机,包括窄体客机和宽体客机。

窄体客机通常用于短途航班,座位容量较小;宽体客机则用于长途航班,容纳更多乘客和货物。

此外,还有一些特殊用途的航空器,如货机、包机和执行政府任务的军用飞机。

2. 航班计划航空客运需要精确的航班计划。

航空公司根据不同的需求和季节性变化制定航班计划。

这包括考虑起降时间、航线安排、乘客流量和飞机维护等因素。

航空公司还需要与机场协调,确保航班的准时起降。

3. 机场运作机场在航空客运中发挥着重要作用。

机场有各种设施和服务,包括航站楼、行李托运区、安全检查和登机门等。

航空公司需要与机场合作,确保顺畅的乘客流动和航班运行。

机场还提供地面服务,如飞机加油、货物装卸和维修。

4. 安全要求航空客运行业对安全要求非常严格。

航空公司需遵守国际民航组织(ICAO)和各国民航局的规定。

这包括飞机维护、机组培训、紧急情况处理等方面。

在飞行过程中,安全措施如飞行员的勤务管理、飞机的保障、空中交通管制等也都需要严格遵循。

5. 乘客服务航空客运不仅涉及到安全,乘客服务也是一个重要方面。

航空公司提供各种服务,如在线预订、选座、餐食和娱乐设施等。

乘客在登机前后还可能需要协助托运行李、辅助登机和查询航班信息等。

良好的乘客服务可以提升乘客体验,增加乘客忠诚度。

6. 航空政策与规定航空客运受到国家和国际的政策与规定的约束。

航空公司需要遵守航权协定、飞行许可证等要求。

此外,运输危险品的规定和乘客的签证要求等也需要考虑。

了解和遵守相关规定对于航空客运的顺利进行至关重要。

结语航空客运知识点包括航空器类型、航班计划、机场运作、安全要求、乘客服务和航空政策与规定等方面。

了解这些知识点对于理解航空客运行业的运作方式和提供良好的乘客体验至关重要。

旅客服务系统名词解释

旅客服务系统名词解释

旅客服务系统名词解释旅客服务系统,又称为旅客信息系统(Passenger Service System,缩写为PSS),是指航空公司或铁路公司等运输公司用于管理旅客信息和提供旅客服务的计算机系统。

该系统集成了多个模块和功能,包括预订、登机、行李跟踪、票务退改签、乘客信息管理等。

以下是一些与旅客服务系统相关的名词解释:1. 预订系统(Reservation System):旅客可以通过此系统预订机票或车票,并进行座位选择、支付等操作。

2. 登机系统(Check-In System):用于检查旅客的登机信息和办理登机手续,提供电子登机牌和行李标签等。

3. 行李跟踪系统(Baggage Tracking System):负责追踪旅客托运的行李的位置,确保行李的准确运送和及时返还。

4. 退改签系统(Ticketing System):允许旅客退改机票或车票,并处理相关费用和手续。

5. 出票系统(Ticket Issuance System):用于生成和打印机票或车票,包括行程单、电子票等。

6. 乘客信息管理系统(Passenger Information Management System):存储和管理旅客的个人信息、机票历史记录、优惠券等数据,以便进行个性化服务和相应的市场活动。

7. 舱位管理系统(Inventory Management System):控制和管理各航班或列车的座位分配和价格调整,以实现舱位的最大利用和优化收益。

8. 售后服务系统(After-sales Service System):解决旅客在旅途中遇到的问题和投诉,提供客户服务和售后支持。

旅客服务系统的目标是提高旅客满意度,增强运输公司的竞争力,实现高效、便捷和安全的旅行体验。

航空航天行业的空中交通管理系统

航空航天行业的空中交通管理系统

航空航天行业的空中交通管理系统空中交通管理系统(Air Traffic Management System,简称ATM)是航空航天行业中至关重要的一部分。

它涵盖了飞行管制、航空器通信、导航和监视等关键领域,旨在确保航空交通的安全和高效运行。

本文将探讨航空航天行业的空中交通管理系统的功能和挑战,并介绍一些相关的技术进展。

一、功能航空航天行业的空中交通管理系统具有多项关键功能,包括航班管理、航空器导航、空中交通流量控制等。

航班管理是空中交通管理系统的核心功能之一。

它包括飞行计划制定、起飞和降落时刻的调度、轨迹规划等。

通过航班管理,空中交通管理系统能够确保航班的顺利进行,避免航班间的冲突和碰撞。

航空器导航是另一个重要功能。

随着航空技术的发展,导航系统的精确性和可靠性对于飞行安全至关重要。

空中交通管理系统通过提供导航信息和指导航空器正确地飞行,确保航班的安全。

空中交通流量控制是航空航天行业的重要挑战之一。

随着航空交通的不断增长,如何合理控制空中交通流量成为了关键问题。

空中交通管理系统通过实时监测空中交通流量,并采取相应的调度措施,确保航班间的安全距离和飞行效率。

二、挑战航空航天行业的空中交通管理系统面临着多个挑战。

其中包括航空器数量增加、空域管理、技术更新等。

随着航空业的快速发展,航空器数量不断增加,这给空中交通管理系统带来了巨大的压力。

如何合理调度和管理众多航班,确保安全和高效率的运行成为了一个重要问题。

空域管理也是一个挑战。

航空器必须在划定的空域内飞行,而空域资源有限。

在确保航班安全的同时,如何充分利用空域资源,提高飞行效率也是空中交通管理系统所面临的挑战之一。

技术更新也是航空航天行业的一个重要挑战。

随着技术的不断更新换代,空中交通管理系统需要不断适应新技术的发展。

例如,航空器通信导航系统的改进和升级对于空中交通管理系统的运行至关重要。

三、技术进展为了应对航空航天行业的挑战,空中交通管理系统不断进行技术创新和发展。

机场系统的组成及功能介绍

机场系统的组成及功能介绍

机场系统的组成及功能介绍机场系统主要由七个组成部分构成:航空公司系统、客户系统、机场运营系统、航班控制系统、旅客信息系统、行李处理系统和航空交通管理系统。

下面将分别对这些部分的功能进行介绍。

1.航空公司系统:航空公司系统是机场系统的核心部分,与机场的各个部门紧密配合,负责航班的计划、销售、订票、售票、值机等。

该系统能够确保航空公司与机场的所有流程和操作无缝衔接,使航空公司的工作更加高效和便利。

2.客户系统:客户系统主要是面向旅客的一种工具,旨在提供给旅客更好的服务体验。

该系统可以提供机票的预订、订座、改签、退票等服务,还可以向旅客提供航班信息、登机时间等相关信息。

通过客户系统,旅客可以更方便地进行航班的管理和查询,同时也能提供机票价格的比较和选择。

3.机场运营系统:机场运营系统是机场管理层用来监控和管理机场的关键工具。

该系统可以帮助机场管理层收集和记录每天的航班进展情况,包括航班的延误、取消、起飞和降落等情况。

通过运营系统,管理层可以实时获取机场运营情况,及时做出相应的调整和决策。

4.航班控制系统:航班控制系统是机场的航班调度中心,负责航空公司的航班安排和控制。

该系统可以实时监控航班的进展情况,包括起飞、降落和航班时刻等。

同时该系统可以通过自动控制航班的起降,并提供紧急情况的处理和应对措施。

6.行李处理系统:行李处理系统是用来管理和追踪行李的一种工具。

通过行李处理系统,机场可以记录每个旅客的行李信息,并通过条形码和RFID等技术追踪行李的位置。

该系统可以帮助机场准确地找到旅客的行李,并确保行李在转机过程中的顺利运输。

7.航空交通管理系统:航空交通管理系统是用来管理和监控航空交通的一种系统。

通过航空交通管理系统,机场可以实时监测飞机的飞行状况和航班信息,并提供天气情况、航路信息等。

该系统可以帮助机场管理部门调度航班,确保航班的安全和正常运行。

航空客运系统程序清单 加报告

航空客运系统程序清单  加报告

课 程 设 计一、 题目分析从课程设计的题目要求可以知道,我们需要建立的是具有能对数据的插入, 删除 , 检索功能的软件。

由于乘客的数量较大且不固定,因此选择用链表来保存乘客的基本信息:终点站名、航班号、飞机号、飞行周日(星期几)、乘员定额、余票量等等,由于预约人数无法预计,队列也应以链表作存储结构。

所以我们建立一个可以插入和删除节点的链表,并能检索这个链表,在必要的时候将链表的内容保存到文件中。

系统主要实现的操作和功能是:查询航线、订票功能、退票功能。

要实现这些功能,首先要使程序能实现查找功能,在查找出到有效信息的前提之下,通过链表的赋值,更新信息和删除退票人信息,满足客户的要求。

二、设计过程(1)图1为程序总体流程图,首先直接调初始化函数,调用增加航班,查询航线,修改航线,删除航线,预定机票,退定机票,函数。

调用命令模式函数无实参,进行命令模式函数时,输入查找信息:终点站,如果决定订票,则输入5进行订票,如果不订票则输入8退出;输入7清屏。

如果以上操作输入有误,系统则输出提示:输入错误,请重新输入查询信息。

图1 程序总体流程图开始增加航线 Fligh tInser t()查询航线 Fligh tLoo kup()修改航线 Fligh tRew ork()删除航线 Fligh tDele te()订票 Fligt Buyti cket()退票 Fligh tCan celtic ket()清空系统 Fligh tclent ()退出系统结束12345678(2)图2为初始化函数流程图,主要是对链表中数据域置空,对链表初始化。

开始建立链表对链表头结点置空,使链表初始化建立新链表并赋给已定义链表返回图2 初始化函数流程图(3)图3为增加航线函数流程图,主要功能是把新航班信息写入新建的链表中,然后把新链表与储存航班的链表合并,得到新的航班信息,实现对新航线的增加。

开始建立新的链表用strcpy函数输新增航班信息建立新链表通过对新链表置空,使订票表头初始化返回图3增加航线函数流程图(4)图4为查询航班函数流程图,先输入查找信息,然后判断此查找信息是否存在,如果存在,则输出查找信息,如果不存在,则退出。

空运管理—航空运输系统组成与范畴

空运管理—航空运输系统组成与范畴

空运管理—航空运输系统组成与范畴空运管理是指利用航空运输工具进行货物、人员等的运输过程中所需要的管理,这个系统包括了导航、物流、飞行管理、运输安全、机械设备维护等多个方面。

一、航空运输系统的组成1.航空运输资源:由于航空运输的特殊性,所以它所需的资源是非常昂贵的,如飞机、机场、航空人才、航空燃油等等。

2.航空运输基础设施:它指的是机场、航空码头等,这些设施是航空运输系统的基础。

3.航空运输组织机构:它是指空运公司、航空管理等组织机构,这些机构为航空工业提供了技术支持、管理和协调等工作。

4.航空运输市场:它指的是广泛的货运和人运市场。

在航空运输市场上,由于航空运输的优越性能,所以航空货运和人运的市场占比较大。

二、航空运输的范畴1.航空物流管理航空物流管理是指在航空运输中对物资、物件的货物繁忙处理和管理。

它包括了物流管理、货物运输、货物码头管理、仓储管理等多个方面。

在航空物流管理中,需要对航空物流网络、物流信息、物流人员等方面进行管理。

2.航空飞行管理航空飞行管理是指对航空运输中的飞行过程进行管理,它包括了飞行安全管理、空中导航管理、飞机运营管理等。

在航空飞行管理中,需要对飞行员技能、气象、燃油等因素进行管理。

3.空中交通控制管理空中交通控制管理是指对航空运输中的空中交通进行监管管理,它包括了空中交通场控制、航空器飞行监控等方面。

4.机场服务管理机场服务管理是指对航空运输中机场的相关服务进行管理,它包括了机场客运服务、机场货物服务、机场安全管理等方面。

5.空运市场管理空运市场管理是指对航空货运市场和人运市场进行综合管理。

在空运市场管理中,需要进行竞争分析、利润分析、销售策略等方面的管理。

综上,航空运输系统是一个系统性很强的过程,需要涉及到机场、航空器、航空人员等多项资源和方面,而航空运输的范畴则是更加具体化的系统管理工作。

空运管理是一个略显复杂的工作过程,需要综合运用机械、技术以及人员等多项资源,以确保安全、快捷的运输服务,同时提高其市场竞争力和盈利效益。

客运交通系统

客运交通系统

客运交通系统
社会系统可以看作劳动、文化和居住组织的实体,这些实体在地域上是分散的。

它们之间的相互联系通过交通运输系统来实现。

根据运输对象的不同,交通运输系统可以分为两个子系统:客运系统和货运系统。

就交通运输业的总体而言,现代交通运输业由铁路、水运、公路、航空和管道五种基本运输方式构成。

我国的客运交通系统主要由铁路、水运、公路和民航四种现代化运输方式组成。

轨道交通中的高速交通包括高速铁路、磁悬浮铁路等。

高速铁路是指列车时速在300 km以上的铁路运输线。

磁悬浮铁路时速一般在500 km左右,它是介于时速300 km的高速铁路运输和时速1 000 km的航空运输之间的一种高速、安全、舒适、绿色环保的地面交通方式。

其原理是利用电磁力使列车悬浮于地面钢轨之上,由直线电机直接驱动前进(由车上和地面的导线线圈的相互感应作用推动列车前进)。

轨道交通中的非高速交通包括(普通)铁路、地下铁道、高架铁路、轻轨等。

轻轨交通是指中运量快速轨道运输,它由现代电车发展起来,采用铁轮走行、钢轨导向,可以运行在地下,也可建成高架轨道运行,在性能上它具有乘坐舒适、功率大、噪声小且能耗低等特点。

各种客运交通方式均有各自的优势和适用范围,但在不同的具体环境条件下,其长处和短处的相对关系会发生变化。

因此,在不同地区、不同条件下,无法形成统一的客运交通模式;根据具体情况,只有选择不同的运输方式进行组合,才能组成最优化的客运交通网。

航空管理系统

航空管理系统

航空管理系统航空管理系统(Airline Management System,简称AMS)是一种用于管理航空公司各项业务活动的计算机软件系统。

它以信息化技术为基础,旨在实现航空公司业务流程的高效管理和资源的合理调配,从而提升航空公司的运营效率和服务质量。

1. 系统概述航空管理系统是一个集成化的软件平台,覆盖了航空公司的各个重要业务模块,包括航线规划、机队管理、航班调度、乘务管理、机票销售、运价管理、客户服务和财务管理等。

通过数据的实时录入、处理和分析,航空管理系统能够提供全面的信息支持和决策参考,为航空公司的运作提供指导和帮助。

2. 功能特点航空管理系统具有以下主要功能特点:2.1 航线规划与机队管理航空管理系统可以根据市场需求和航空公司的经营策略,对航线进行合理规划和优化。

同时,它也可以对机队进行全面的管理,包括飞机的调配、机型的选择、维修计划的安排等。

2.2 航班调度与乘务管理通过航空管理系统,航空公司可以实现航班的准时起降和机组的合理配置。

航班调度模块能够对航班进行全面的计划和管理,确保航班按时起飞和到达。

乘务管理模块则可以对机组的排班、培训、考核等进行有效管理。

2.3 机票销售与运价管理航空管理系统提供了在线机票销售和预订的功能,乘客可以通过网站或移动应用程序订购机票。

同时,航空公司可以根据市场情况和竞争策略,灵活调整运价,并通过系统进行实时更新。

2.4 客户服务与财务管理航空管理系统可以提供全面的客户服务支持,包括在线值机、行李托运、航班信息查询等。

同时,系统还能够实现财务管理的功能,包括票务结算、财务报表的生成和成本核算等。

3. 应用前景随着航空业的快速发展,航空公司对管理效率和服务质量的要求越来越高。

航空管理系统作为一种重要的信息化工具,正逐渐成为航空公司不可或缺的一部分。

未来,随着技术的进一步发展和应用场景的拓展,航空管理系统的功能将进一步丰富,为航空公司带来更多的便利和效益。

总结:航空管理系统是航空公司的核心管理工具,它通过信息化技术的应用,实现了航空公司业务的集中、规范和高效。

机场枢纽客运交通信息系统

机场枢纽客运交通信息系统
虑 系统 满 足 将来 发 展 的扩 展 性 能 。 工程 针 对 信 息 系统 提 出 了 4 类 功 大 能 以及 相 关 接 口要 求 ,即 : 快 速 路 交 通监 控 ;地 面 道路 路 口控
东机 场 交 通 信 息 中心 TI C,其 建 设 目标
就 是 在浦 东机 场 内 系统 地 建 立 一 个 交 通
于 交 通 控 制 和 管理 的信 息 系统 ,对 交 通
中心 及 枢 纽 路 网 内交 通 流 的组 织 、管 理
信 息 共享 、交 换 和 服 务 的环 境 ,增 加 各
个部 门获 取 分 散 信 息 资 源 的 能 力 ,提 供
和 控 制 应 将 其作 为 一个 多层 次 的 、密 切 联 系的 整体 系统 来 考 虑 ,逐 步 从 单 一 的
理 t交 通信 息应 用 集 成 。 子 系 统 与模 块 设 计分 为 :
从 交 通 信 息 基础 设 施 建 设 向面 向城 市 管
理 的 决 策服 务和 面 向 公众 的 交 通 信 息 服 务 方 向 发 展 、逐 步 从 主 要 针 对 道 路 交 通
通 过 中心平 பைடு நூலகம் 的 “ 一 出 口” , 统
客 运 道 路 、停 车场 以 及相 关 交 通 设 施 的
合 、数 据 分 析 和 数 据 挖 掘 能 力 ,为 管 理 者 提 供 决 策 辅 助 服 务 ,提 高 机 场 交 通 管
体 上 要 求 建 设浦 东机 场 客 运 道 路 交 通 监 控 及 综 合交 通信 息采 集 与 发 布 系统 ,实 现 相 关 的 系统 功 能 ,除 了交 通 信 息 中 心 的 信 息 集成 平 台 ,其 下 属 功 能 主 要 包括 三 部分 :快 速 路 交 通 监 控 、地 面 道 路路

航空客运——2.2订座系统概述

航空客运——2.2订座系统概述

3、世界各大CRS名称及标识
• 地区
CRS名称
标识
• 美国
SABRE
1W
• 美国
WORLDSPAN
1P
• 美国
GETS
1X
• 欧洲
AMADEUS
1A
• 欧美
GALILEO
1G
• 东南亚
AMACUS
1B
• 日本
INFINI
1F
• 日本
AXESS
1J
• 中国
中国CRS
1E
• 韩国
2020年10月27日 10时7分
TOPAS
1T
22
• (4)CRS系统与ICS之间的联接 • (5)CRS系统与国外系统之间的联接按数据传输
方式分类
2020年10月27日
10
10时7分
(1)CRS系统模式
CRS销售代 理
ICS航空公 司
其它航空 公司的ICS
出租车 旅馆等 旅行0月27日
11
10时7分
(2)目前存在三种连接
2.2 订座系统概述
2020年10月27日10时7分
1
2.2 订座系统概述
• 一、计算机在民航订座系统中的应用 • 二、计算机订座系统概述 • 三、CRS系统网络的主要特征 • 四、CRS系统提供的服务 • 五、航空公司ICS系统与CRS系统
2020年10月27日
2
10时7分
2.2 订座系统概述
• ① 与国内各航空公司的连接 • ② 与国外航空公司的直接连接
– 美西北航空公司,新加坡航空公司,全日本航空公司,日本 航空公司,港龙航空公司,,国泰航空公司,长荣航空公司, 中华航空公司,远东航空公司,复兴航空公司,哈萨克斯坦 航空公司, 万能捷运公司,大韩航空公司CX JL AN BR SQ KA KE NH

美国航空客运收益管理系统初探

美国航空客运收益管理系统初探

内容提要收益管理在民航业的应用,从本质上说是一种营销方式的变革。

它通过运用预测和优化等科学手段,使航空公司经营的某个航段或者某条航线以最合理的价格出售全部舱位,从而使公司获得最大的整体效益。

因此,收益管理系统是航空公司提高企业市场竞争能力的有力武器。

民航收益管理系统最早诞生于美国,这套系统简言之是一种使用预订系统、超额预售和划分需求等方法,使服务能力受限制的企业收入最大化的综合系统,通过收益管理,企业可以在合适的时机,以最有竞争力的价格,把一系列的服务销售给需要的顾客。

本文在阐述航空客运收益管理系统基本理论的基础上,结合美国航空客运收益管理系统的演变与发展,以美利坚航空公司为例,深入研究和系统探讨了美国航空客运收益管理系统的特点与运行模式,并针对中国民航的现状,提出了我国航空公司实施收益管理应该具备的前提条件以及在中国如何建立航空客运收益管理系统的步骤与措施。

关键词:收益管理、基本方法、美航模式、启示目录引言 (1)一、航空客运收益管理系统及其基本方法 (3)(一)航空客运收益管理系统的基本概念 (3)(二)航空客运收益管理系统的基本方法 (9)二、美国航空客运收益管理系统的产生和发展 (18)(一)美国航空客运收益管理系统产生的历史背景 (18)(二)美国航空客运收益管理系统的演进发展 (20)三、美国航空客运收益管理系统运行的特点与内容 (25)(一)美国航空客运收益管理系统的特点 (25)(二)美国航空客运收益管理系统的主要内容 (27)(三)美国航空客运收益管理系统在其应用中所创造的价值 (30)四、借鉴美国经验,建立我国航空公司航空客运收益管理系统..32(一)在我国航空公司实施收益管理的前提条件 (32)(二)在我国航空公司实施收益管理系统应注意的几个问题 (38)结论 (43)注释 (44)参考文献 (45)论文摘要 (1)ABSTRACT (1)后记作者与导师简介引言20世纪90年代中期,随着改革开放的不断深化和市场经济的转型,中国民航业遭遇了巨大的市场变化,即由卖方市场到买方市场的根本性转变。

AMS系统简述及基本应用

AMS系统简述及基本应用

AMS系统简述及基本应用AMS系统(Airline Management System)是航空公司管理系统的简称,它是为了满足航空公司内部各种管理需求而开发的一套综合性系统。

AMS系统的目的是提高航空公司的管理效率,实现航空公司的全面信息化管理。

随着信息技术的不断发展,AMS系统在航空公司日常运营中的应用越来越广泛,成为航空公司管理的重要工具。

AMS系统的基本应用包括航空运营管理、机票销售管理、财务结算管理、人力资源管理等几个方面。

下面将对AMS系统的基本应用进行详细介绍。

一、航空运营管理航空运营管理是AMS系统中最重要的应用之一,它涉及到航班计划、机组调度、飞机维护、飞行安全等方面。

航空公司需要根据市场需求和自身资源状况来制定航班计划,AMS系统可以根据各种因素进行优化排班,提高航班的利用率和效益。

AMS系统也可以对机组进行调度和分配工作,确保每个航班都有足够的机组人员,并且合理安排他们的工作和休息时间。

AMS系统还可以对飞机进行维护管理,及时安排维护和保养工作,确保飞机的飞行安全。

这些功能的综合应用可以有效提高航空公司的运营效率和安全水平。

二、机票销售管理机票销售是航空公司的主要业务之一,而AMS系统可以帮助航空公司更加高效地进行销售管理。

AMS系统可以记录和管理航班资源、舱位情况和机票价格等信息,同时也可以与各大在线旅行社和代理商进行信息共享和数据交换,以便及时更新价格和舱位情况。

航空公司也可以通过AMS系统进行市场分析和销售预测,以便制定合理的销售策略和价格策略。

AMS系统还可以方便航空公司进行销售数据统计和分析,从而更好地了解客户需求和行为,优化销售流程和服务。

三、财务结算管理财务结算管理是航空公司运营中不可或缺的一部分,而AMS系统可以帮助航空公司更加高效地进行财务结算管理。

AMS系统可以帮助航空公司记录和管理航班的销售和成本等相关数据,进行利润分析和成本控制。

AMS系统还可以对航空公司与供应商之间的结算进行统一管理,如燃油供应商、餐饮供应商等,确保交易的准确和及时。

航空运输系统组成与范畴

航空运输系统组成与范畴

航空运输系统组成与范畴1. 引言航空运输系统是现代化社会不可或缺的一部分,它是由各种组件和机构组成的庞大系统。

本文将对航空运输系统的组成和范畴进行详细的介绍。

2. 航空运输系统的组成航空运输系统由多个关键组成部分构成,包括飞机、机场、航空公司和航空管制。

下面对每个组成部分进行详细的介绍。

2.1 飞机飞机是航空运输系统的核心组件,它被用于在空中运输乘客和货物。

不同类型的飞机适用于不同的任务,如客机、货机、直升机等。

飞机的设计和制造需要经过严格的安全标准和审查程序,以确保其安全性和可靠性。

2.2 机场机场是航空运输系统中的地面基础设施,用于起降飞机、停放飞机和提供乘客出入口服务。

机场通常包括跑道、停机坪、候机楼、行李处理设施和航空燃油供应设施等设施。

机场需要满足一系列安全标准和航空运营要求,以确保安全和顺畅的空中运输。

2.3 航空公司航空公司是航空运输系统中的运营实体,负责运营和管理飞机、机场和空中乘客服务。

航空公司的职责包括飞行计划、机组人员管理、票务销售、乘客服务和货物运输等。

航空公司需要遵循相关法规和国际航空协定,以确保航空运输的安全和可靠性。

2.4 航空管制航空管制是航空运输系统中的重要环节,负责监控和协调飞机的空中和地面运行。

航空管制机构通过雷达、通信系统和航空电子设备等手段,实时监视飞机位置和航行情况,并向飞行员提供导航和通信指导。

航空管制的目标是保持飞机之间的安全间隔,确保航空运输的顺利进行。

3. 航空运输系统的范畴航空运输系统的范畴涵盖了几个方面,包括乘客运输、货物运输和航空运输服务。

下面将对每个范畴进行详细介绍。

3.1 乘客运输乘客运输是航空运输系统的主要功能之一,它提供便捷的空中交通服务,使乘客能够快速地到达目的地。

乘客运输通常包括定期航班和包机服务,乘客可以根据需要购买机票,并在指定的时间和地点登机。

航空公司提供各种舱位类型和服务水平,以迎合不同乘客的需求。

3.2 货物运输货物运输是航空运输系统的另一个重要功能,它通过空运方式将货物从一个地方运送到另一个地方。

客运的名词解释

客运的名词解释

客运的名词解释客运是指通过各种交通工具运输乘客的活动和行业。

它在现代社会中起着至关重要的作用,为人们提供了便利的出行方式,促进了经济和文化的交流。

一、客运的概念和发展客运是交通运输的基本活动之一,是人们出行的重要方式。

它涵盖了各种交通工具,如公共汽车、火车、飞机、轮船和出租车等。

客运业的发展受到城市化和人口增长的影响,对于满足人们出行需求和促进经济发展至关重要。

二、城市公共交通系统城市公共交通系统是现代城市不可或缺的一部分,它通过有序而高效的运输网络,为人们提供了便利的出行方式。

公共汽车、地铁、有轨电车、轻轨等形式的城市公共交通工具,连接了城市的各个角落,为居民提供了快捷、安全和环保的交通选择。

三、火车客运火车客运是一种历史悠久的交通方式,也是长途交通的主要选择之一。

火车的速度和运力相对较高,能够在城市之间和乡村地区之间进行快速、大规模的运输。

火车客运的发展与铁路发展密切相关,随着高铁和新技术的引入,火车客运变得更加便捷、舒适和安全。

四、航空客运航空客运是现代人们远距离出行的首选方式之一。

飞机的速度极快,能够在短时间内将乘客从一个地方运送到另一个地方。

航空客运业的发展使得旅行更加方便快捷,推动了国际间的经济合作和文化交流。

五、客运与经济发展客运业在促进经济发展和改善人民生活方面发挥着重要作用。

它为各个行业提供了便捷的运输方式,帮助企业快速、高效地运输物资和人员。

同时,客运业也创造了大量的就业机会,为社会提供了稳定的收入来源。

六、客运带来的挑战和改进虽然客运业有着重要的意义,但也面临着一些挑战。

其中,交通拥堵、环境污染和安全问题是最为突出的。

为了改善客运业的质量和效率,政府和相关部门需要加大投入,提升设施和服务水平,推动创新技术的应用,以满足人们不断增长的需求。

七、未来客运的展望随着科技进步和社会变革,客运业也在不断发展。

未来,智能交通系统、无人驾驶技术和绿色交通等将成为客运业发展的重要方向。

这些创新将进一步提升交通系统的效率和便利性,同时减少对环境的影响,为人们创造更加美好的出行体验。

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

中南大学《数据结构》课程设计实验报告题目:线性表和队列实现航空客运系统学生姓名:指导老师:学院:信息科学与工程学院班级:完成时间:2016年11月1日目录一章需求分析 (1)1.1 问题描述 (1)1.2基本要求 (1)1.2.1 (1)1.2.2 (1)1.2.3 (1)系统能实现的操作和功能如下: (1)第二章总体设计 (2)2.1模块设计 (2)2.1.1 总模块 (2)2.2.2模块一航线查询 (2)2.2.3 模块二订票 (2)2.2.4 模块三退票 (2)2.2.5 模块三查询乘客信息 (3)2.2 模块关系 (3)2.3 总体流程 (3)第三章详细设计 (4)3.1 数据结构 (5)3.1.1 总体数据结构描述 (5)3.1.2 详细数据结构 (5)⑴、航线类数据结构 (5)⑵、已定票乘客类数据结构定义 (6)⑶、等候乘客类数据结构定义 (7)⑷、已定票乘客链表类定义 (8)⑸、等候乘客链表定义 (8)3.2 成员函数的定义 (9)3.2.1 航线类成员函数定义 (9)3.2.2 已定票乘客类成员函数定义 (11)3.2.3 等候乘客类成员函数定义 (12)3.2.4 已定票链表类成员函数定义 (12)3.2.5 等候乘客类成员函数定 (14)3.3 各模块重要函数及模块程序框图 (16)3.3.1 总模块函数(相当于全局函数) (16)⑴函数定义 (16)⑵函数实现 (17)3.3.2 航线查询模块 (21)⑴函数定义 (21)⑵函数实现 (21)⑶程序框图 (24)3.3.3 订票模块 (24)⑴、函数定义 (24)⑵、函数实现 (24)⑶、程序框图 (26)3.3.4 退票模块 (26)⑴、函数定义 (27)⑵、函数实现 (27)⑶、程序框图 (27)3.3.5 查询乘客信息模块 (29)⑴函数定义 (29)⑵函数实现 (29)⑶程序框图 (32)第四章调试分析 (33)4.1 遇到的问题 (33)4.2 解决的办法 (34)第五章运行结果 (35)5.1 查询航线功能的输入与输出 (35)5.1.1 正确输入与正确输出 (35)5.1.2 异常输入与异常输出 (37)○A不输入时的输出 (37)○B输入航线错误 (37)5.2 订票功能的输入与输出 (38)5.2.1 正确输入与正确输出 (38)○A订票成功 (38)○B订票不成功 (39)5.2.2 异常输入 (40)5.3 乘客信息查询的输入与输出 (41)5.3.1 正确输入与输出 (41)5.3.2 异常输入 (42)5.4 退票功能的输入与输出 (43)5.4.1 正确输入与输出 (43)5.4.2退票功能之自动添加候补乘客 (45)5.4.3 异常输入 (47)第六章课程设计总结 (48)6.1 收获 (48)6.2 总结 (48)第七章参考文献 (49)第一章需求分析1.1 问题描述航空客运订票的业务活动包括;查询航线、客票预订和办理退票等。

试设计一个航空客运订票系统,以使上述业务可以借助计算机来完成1.2基本要求1.2.1每条航线所涉及的信息有:终点站名、航班名、飞机号、飞行周日(星期几)、乘员定额、余票量、已订票的客户名单(包括姓名、订票量、舱位等级1,2 或3)以及等候替补的客户名单(包括姓名、所需票量);1.2.2作为示意系统,全部数据可以只放在内存中;1.2.3系统能实现的操作和功能如下:①查询航线:根据旅客提出的终点站名输出下列信息:航班号、飞机号、星期几飞行,最近一天航班的日期和余票额;②承办订票业务:根据客户提出的要求(航班号、订票数额)查询该航班票额情况,若尚有余票,则为客户办理订票手续,输出座位号;若已满员或余票额少于订票额,则重新询问客户要求。

若需要,可登记排队候补;③承办退票业务:根据客户提供的情况(日期、航班),为客户办理退票手续,然后查询该航班是否有人排队候补,首先询问排在第一的客户,若所退票额能满足客户的要求,则为客户办理订票手续,否则依次询问其他排队候补的客户。

第二章总体设计2.1模块设计2.1.1 总模块四种模块功能显示2.2.2模块一航线查询进入航线查询界面按提示输入航线的终点站名和航班日期,点击查询即可以查询对应的航线;2.2.3 模块二订票进入订票界面按提示输入订票乘客姓名、航班号、航班日期、订票数量和订票等级点击订票按钮方可完成订票;2.2.4 模块三退票进入退票界面按提示输入退票乘客姓名、航班号、航班日期,点击退票按钮方可完成退票;2.2.5 模块三 查询乘客信息进入查询乘客信息界面按提示输入航班号、航班日期,点击查询已定票乘客信息按钮即可查询对应航班的已定票的乘客信息;点击查询等候乘客信息按钮即可查询对应航班的等候乘客信息;2.2 模块关系2.3 总体流程图 2.2.1 模块关系图图 2.3.1 总体流程图第三章详细设计3.1 数据结构3.1.1 总体数据结构描述○1两个客户名单可分别由线性表和队列实现。

为查找方便,已订票客户的线性表应按客户姓名有序,并且为了插入和删除方便,应以链表作为存储结构;○2由于预约人数无法预计,队列也应以链表作存储结构。

整个系统需汇总各条航线的情况登录在一张线性表上;○3由于航线基本不变,可采用顺序存储结构,并按航班有序或按终点站名有序;○4每条航线是这张表上的一个记录,包含上述8 个域、其中乘员名单域为指向乘员名单链表的头指针,等候替补的客户名单域为指向等候客户名单的头指针。

3.1.2 详细数据结构⑴、航线类数据结构#pragma once#include"PsgOrdered.h"#include"PsgWaited.h"class AirLine{public:AirLine(CString dest, int airNum, int planeN, CString d, int cap, int std);AirLine();private:CString destination;int airNumber; //航班号int planeNumber; //飞机号CString date; //飞行日期int capacity;//总容量int standby;//余票量PsgOrdered *psgOrdered; //乘员名单域的头指针PsgWaited *psgWaited; //等候客户名单域头指针public:CString getDestionation(); //获取终点站名int getAirNUmber(); //获取航班号int getPlaneNumber(); //获取飞机号CString getDate(); //获取航班日期int getCapacity(); //获取航班的容量int getStandby(); //获取航班的余票量void setStandby(int t); //更新航班余票量void setCapacity(int i); //更新航班容量PsgOrdered *getPsgOrdered(); //获取航线类中指向已订票客户链表的指针void setPsgOrdered(PsgOrdered *p); //设置航线类中指向已订票客户链表的指针void setPsgWaited(PsgWaited *p); //设置航线类中指向等候客户名单链表的指针PsgWaited *getPsgWaited(); //获取航线类中指向等候客户名单链表的指针};⑵、已定票乘客类数据结构定义#pragma once//已定票客户节点类class ListOrdered;class PsgOrdered{friend class ListOrdered; //声明友元类public:PsgOrdered();PsgOrdered(CString name, int ordNum, int shippingS, PsgOrdered *f=NULL);//构造函数~PsgOrdered();CString getPsgName(); //获取客户姓名int getOrderNumber(); //获取客户的订票量int getShippingSpace(); //获取客户的订票等级PsgOrdered *getNext(); //返回客户节点中的指针private:PsgOrdered *next; //客户节点的指针域CString psgName; //客户姓名int orderedNumber;//已定票数量int shippingSpace;//舱位等级};⑶、等候乘客类数据结构定义#pragma once//等候客户节点类class ListWaited;class PsgWaited{friend class ListWaited;public:PsgWaited();PsgWaited(CString n, int waitedNum, int shipppingNum, PsgWaited *l=NULL);//构造函数~PsgWaited();CString getName(); //获取客户姓名int getWaitedNumber(); //获取客户订票数量int getShippingSpace(); //获取客户订票澄净PsgWaited *getLink(); //获取客户节点的指针private:PsgWaited *link; //客户节点中的指针CString name; //客户姓名int waitedNumber;//需订票数量int shippingSpace;//舱位等级};⑷、已定票乘客链表类定义#pragma once#include"PsgOrdered.h"class ListOrdered{public:ListOrdered();~ListOrdered();PsgOrdered *getFirst(); //返回已定票客户的头指针void insert(PsgOrdered *psgO); //插入一位客户信息void del(CString name); //根据姓名删除客户信息int length(); //求已定票客户的链表长度PsgOrdered getPsgOrdered(CString name); //根据姓名返回客户信息bool exit(CString name); //根据姓名判断客户是否存在private:PsgOrdered *first; //已定票客户的头指针};⑸、等候乘客链表定义#pragma once#include"PsgWaited.h"class ListWaited{public:ListWaited();~ListWaited();void insert(PsgWaited *psgO); //插入一条客户信息int length(); //求等候客户链表的长度void del(PsgWaited *p); //删除一条客户信息PsgWaited *search(int shippingS,int orderedNum); //根据订票量和订票等级返回对应的客户指针PsgWaited *getFirst(); //获取等候了客户链表的头指针private:PsgWaited *first; //等候客户链表的头指针};3.2 成员函数的定义3.2.1 航线类成员函数定义AirLine::AirLine(){}AirLine::AirLine(CString dest,int airNum,int planeN,CString d,int cap,int std){destination = dest;airNumber = airNum;planeNumber = planeN;date = d;capacity = cap;standby = std;}AirLine::~AirLine(){}CString AirLine::getDestionation()return destination;}int AirLine::getAirNUmber(){return airNumber;}int AirLine::getPlaneNumber(){return planeNumber;}CString AirLine::getDate(){return date;}int AirLine::getCapacity(){return capacity;}int AirLine::getStandby(){return standby;}PsgOrdered *AirLine::getPsgOrdered(){ return psgOrdered;}PsgWaited *AirLine::getPsgWaited(){return psgWaited;}void AirLine::setPsgOrdered(PsgOrdered *p){ psgOrdered = p;}void AirLine::setPsgWaited(PsgWaited *p){ psgWaited = p;}void AirLine::setCapacity(int i){capacity = i;}void AirLine::setStandby(int t){standby = t;3.2.2 已定票乘客类成员函数定义PsgOrdered::PsgOrdered(){next = NULL; }PsgOrdered::PsgOrdered(CString name, int ordNum, int shippingS, PsgOrdered *n) {psgName = name;orderedNumber = ordNum;shippingSpace = shippingS;next = n;}PsgOrdered::~PsgOrdered(){}PsgOrdered *PsgOrdered::getNext(){return next;}CString PsgOrdered::getPsgName(){return psgName;}int PsgOrdered::getOrderNumber(){return orderedNumber;}int PsgOrdered::getShippingSpace(){return shippingSpace;}3.2.3 等候乘客类成员函数定义PsgWaited::PsgWaited(){}PsgWaited::PsgWaited(CString n, int waitedNum, int shipppingNum, PsgWaited *l) {name = n;waitedNumber = waitedNum;shippingSpace = shipppingNum;link = l;}PsgWaited *PsgWaited::getLink(){return link;}PsgWaited::~PsgWaited(){}CString PsgWaited::getName(){return name;}int PsgWaited::getWaitedNumber(){return waitedNumber;}int PsgWaited::getShippingSpace(){return shippingSpace;}3.2.4 已定票链表类成员函数定义ListOrdered::ListOrdered(){first = NULL;}ListOrdered::~ListOrdered(){}void ListOrdered::insert(PsgOrdered *psgO){PsgOrdered *p=first;if (first == NULL)first = psgO;else{while (p->next)p = p->next;p->next= psgO;psgO->next = NULL;}}PsgOrdered *ListOrdered::getFirst(){return first;}void ListOrdered::del(CString name){PsgOrdered *current=first,*s;if (first->getPsgName() == name){s = first;first = s->next;delete s;}else{while (!current->next&&current->next->getPsgName() != name) current = current->next;s = current->next;current->next = s->next;delete s;}}int ListOrdered::length(){PsgOrdered *current = first;int len = 0;while (current){len++;current = current->next;}return len;}PsgOrdered ListOrdered::getPsgOrdered(CString name){ PsgOrdered *current=first;while (current->getPsgName() != name)current = current->next;return *current;}bool ListOrdered::exit(CString name){PsgOrdered *current = first;while (current){if (current->getPsgName() == name)return true;current = current->next;}return false;}3.2.5 等候乘客类成员函数定义ListWaited::ListWaited(){first = NULL;}ListWaited::~ListWaited(){}PsgWaited *ListWaited::getFirst(){ return first;}void ListWaited::insert(PsgWaited *psgO){ PsgWaited *p = first;if (first == NULL)first = psgO;else{while (p->link)p = p->link;p->link = psgO;psgO->link = NULL;}}int ListWaited::length(){PsgWaited *current = first;int len = 0;while (current){len++;current = current->link;}return len;}void ListWaited::del(PsgWaited *p){ PsgWaited *current = first, *s;if (first == p){s = first;first = s->link;delete s;}else{while (current->link!=p)current = current->link;s = current->link;current->link = s->link;delete s;}}PsgWaited *ListWaited::search(int shippingS, int orderedNum){PsgWaited *current = first;while (current){if (current->getShippingSpace() == shippingS&&current->getWaitedNumber() == orderedNum)return current;current = current->link;}return NULL;}3.3 各模块重要函数及模块程序框图3.3.1 总模块函数(相当于全局函数)⑴函数定义1、AirLine checkAirLine(CString dest,CString date); //按照终点站和日期查询航线,并返回航线2、void book(CString name,CString date,int airN ,int shippiingSpa,int orderedN); //处理订票业务3、int isAirLine(int airN,CString date); //根据航班号和日期查询是否存在符合条件的航线,存在则返回航线数组(下标+1),否则返回04、void cancel(int airN,CString name,CString date); //退票业务5、void flush(); //每一次订票或退票时,更新航线类中指向客户名单的指针;⑵函数实现1、AirLine CAirSystemApp::checkAirLine(CString dest,CString date){AirLine temp;if (dest!=_T("")&&date!=_T("")){for (int i = 0; i < 3; i++){if (dest == airLine[i].getDestionation() && date == airLine[i].getDate()){temp = airLine[i];return temp;}}AfxMessageBox(_T("你查询的航线不存在,请重新输入"), MB_OK |MB_ICONSTOP | MB_ICONEXCLAMATION);}else{AfxMessageBox(_T("查询信息不能为空"), MB_OK | MB_ICONSTOP |MB_ICONEXCLAMATION);}return temp;}2、void CAirSystemApp::book(CString name, CString date, int airN, int shippiingSpa, int orderedN){if (name != _T("") && date != _T("")){int i = isAirLine(airN, date);if (!i)AfxMessageBox(_T("你输入的航班信息有误,请重新操作"), MB_OK, MB_ICONSTOP | MB_ICONEXCLAMATION);else{if (orderedN <= airLine[i-1].getStandby()){CString str[100];CString string=NULL;PsgOrdered *p = new PsgOrdered(name, orderedN, shippiingSpa);listOrdered[i-1].insert(p);for (int j = 0; j < orderedN; j++){str[j].Format(_T("%d"), airLine[i - 1].getStandby());airLine[i - 1].setStandby(airLine[i - 1].getStandby() - 1);string = string + str[j]+_T(" ");}AfxMessageBox(_T("恭喜您,订票成功,您的座位号为")+string,MB_OK);}else{CString str;str.Format(_T("%d"), airLine[i-1].getStandby());if (AfxMessageBox(_T("订票失败,该航班剩余票量为" + str + _T("您是否需要排队候补")), MB_YESNO | MB_ICONSTOP|MB_ICONQUESTION) == IDYES){PsgWaited *p = new PsgWaited(name, orderedN, shippiingSpa);listWaited[i - 1].insert(p);}else{AfxMessageBox(_T("非常抱歉,我们建议您改乘其他航班"),MB_OK|MB_ICONSTOP);}}}}elseAfxMessageBox(_T("请输入您的姓名和日期"), MB_OK, MB_ICONSTOP | MB_ICONEXCLAMATION);flush();}3、int CAirSystemApp::isAirLine(int airN, CString date){for (int i = 0; i < 3; i++)if (airLine[i].getAirNUmber() == airN&&airLine[i].getDate() == date){return i+1;}return 0;}4、void CAirSystemApp::cancel(int airN, CString name, CString date){if (name == _T("") || date == _T(""))AfxMessageBox(_T("您输入的信息不完整,请重新输入"),MB_OK|MB_ICONSTOP|MB_ICONEXCLAMATION);else{int i = isAirLine(airN, date);if(!i)AfxMessageBox(_T("您输入的退票航班信息有误,请重新输入"), MB_OK | MB_ICONSTOP | MB_ICONEXCLAMATION);else{if (listOrdered[i - 1].length() != 0&&listOrdered[i - 1].exit(name)){airLine[i - 1].setStandby(airLine[i - 1].getStandby() + listOrdered[i - 1].getPsgOrdered(name).getOrderNumber());psgTemp = listOrdered[i - 1].getPsgOrdered(name);listOrdered[i - 1].del(name);AfxMessageBox(_T("退票成功,欢迎您再次光顾"), MB_OK);while(airLine[i-1].getCapacity()>0){psgWtemp = listWaited[i -1].search(psgTemp.getShippingSpace(), psgTemp.getOrderNumber());if (psgWtemp){CString strIncrease[2];strIncrease[0].Format(_T("%d"),psgWtemp->getShippingSpace());strIncrease[1].Format(_T("%d"),psgWtemp->getWaitedNumber());PsgOrdered *temp = newPsgOrdered(psgWtemp->getName(), psgWtemp->getWaitedNumber(), psgWtemp->getShippingSpace());listOrdered[i - 1].insert(temp);airLine[i - 1].setStandby(airLine[i - 1].getStandby() - psgWtemp->getWaitedNumber());AfxMessageBox(_T("已自动将1位候补客户自动办理订票业务,其姓名为:") + psgWtemp->getName() + _T("订票量为:") + strIncrease[1] + _T("订票等级为:") + strIncrease[0], MB_OK);listWaited[i - 1].del(psgWtemp);psgWtemp = listWaited[i -1].search(psgTemp.getShippingSpace(), psgTemp.getOrderNumber());}elsebreak;}}elseAfxMessageBox(_T("乘客未曾订购过票!"), MB_OK );}}flush();}5、void CAirSystemApp::flush(){for (int i = 0; i < 3; i++){airLine[i].setPsgOrdered(listOrdered[i].getFirst());airLine[i].setPsgWaited(listWaited[i].getFirst());}}AirLine *CAirSystemApp::getAirLine(){return airLine;}3.3.2 航线查询模块⑴函数定义1、afx_msg void OnClickedButtonCheck(); //查询按钮回掉函数2、virtual BOOL OnInitDialog(); //初始化对话框3、void showAirLine(AirLine a);//显示查询航班信息⑵函数实现1、void AirCheck::OnClickedButtonCheck(){// TODO: 在此添加控件通知处理程序代码int count = m_listInfor.GetItemCount();for (int i = count; i >=0; i--)m_listInfor.DeleteItem(i);CAirSystemApp *temp = (CAirSystemApp*)AfxGetApp();UpdateData(TRUE);AirLine a = temp->checkAirLine(m_checkDest, m_checkDate);showAirLine(a);m_checkDate.Empty();m_checkDest.Empty();UpdateData(FALSE);}2、BOOL AirCheck::OnInitDialog(){CDialogEx::OnInitDialog();// TODO: 在此添加额外的初始化CRect rect;m_listInfor.GetClientRect(&rect);m_listInfor.SetExtendedStyle(m_listInfor.GetExtendedStyle()|LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES|LVS_REPORT|LVS_ALIGNTOP);m_listInfor.InsertColumn(0, _T("目的地"), LVCFMT_CENTER, rect.Width()/5,0);m_listInfor.InsertColumn(1, _T("航班号"), LVCFMT_CENTER, rect.Width() / 5,1); m_listInfor.InsertColumn(2, _T("飞机号"), LVCFMT_CENTER, rect.Width() / 5,2); m_listInfor.InsertColumn(3, _T("飞行日期"), LVCFMT_CENTER, rect.Width() / 5,3); m_listInfor.InsertColumn(4, _T("余票量"), LVCFMT_CENTER, rect.Width() / 5,4); CAirSystemApp *app = (CAirSystemApp*)AfxGetApp();CString str[3];for (int i = 0; i < 3; i++){str[0].Format(_T("%d"), app->getAirLine()[i].getAirNUmber());str[1].Format(_T("%d"), app->getAirLine()[i].getPlaneNumber());str[2].Format(_T("%d"), app->getAirLine()[i].getStandby());m_listInfor.InsertItem(i, app->getAirLine()[i].getDestionation());m_listInfor.SetItemText(i, 1, str[0]);m_listInfor.SetItemText(i, 2, str[1]);m_listInfor.SetItemText(i, 3, app->getAirLine()[i].getDate());m_listInfor.SetItemText(i, 4, str[2]);}return TRUE; // return TRUE unless you set the focus to a control // 异常: OCX 属性页应返回FALSE}3、void AirCheck::showAirLine(AirLine a){CString str[3];str[0].Format(_T("%d"), a.getAirNUmber());str[1].Format(_T("%d"), a.getPlaneNumber());str[2].Format(_T("%d"), a.getStandby());m_listInfor.InsertItem(0, a.getDestionation());m_listInfor.SetItemText(0, 1, str[0]);m_listInfor.SetItemText(0, 2, str[1]);m_listInfor.SetItemText(0, 3, a.getDate());m_listInfor.SetItemText(0, 4, str[2]);}⑶程序框图图3.3.2.1 查询航线程序框图3.3.3 订票模块⑴、函数定义1、afx_msg void OnClickedButtonOrder(); //订票按钮回调函数,将调用全局函数book();⑵、函数实现void Order::OnClickedButtonOrder(){// TODO: 在此添加控件通知处理程序代码CAirSystemApp *app = (CAirSystemApp*)AfxGetApp();UpdateData(TRUE);app->book(m_orderName,m_orderDate,m_orderAirNumber,m_shippingSpace,m_ ticketNumber);m_orderName.Empty();m_orderDate.Empty();m_orderAirNumber = 0;m_shippingSpace = 0;m_ticketNumber = 0;UpdateData(false);}⑶、程序框图3.3.4 退票模块图 3.3.3.1 订票程序框图⑴、函数定义1、afx_msg void OnClickedButtonCancel(); //退票按钮回调函数,将调用全局函数cancel();⑵、函数实现void Cancel::OnClickedButtonCancel(){// TODO: 在此添加控件通知处理程序代码UpdateData(TRUE);CAirSystemApp *app = (CAirSystemApp*)AfxGetApp();app->cancel(m_airNumber,m_cancelName,m_cancelDate);m_airNumber = 0;m_cancelDate.Empty();m_cancelName.Empty();UpdateData(false);}⑶、程序框图图 3.3.4.1 退票程序框图3.3.5 查询乘客信息模块⑴函数定义1、virtual BOOL OnInitDialog(); //初始化对话框2、void showPsgOrdered(int airNumber, CString airDate, PsgOrdered *first);//显示已定票客户的信息3、void showPsgWaited( int airNumber, CString airDate, PsgWaited *first); //显示等候客户的信息4、afx_msg void OnClickedButtonPsgOrdered(); //查询已定票乘客按钮回调函数5、afx_msg void OnClickedButtonInforWaited(); //查询等候乘客按钮回调函数⑵函数实现1、BOOL PsgCheck::OnInitDialog(){CDialogEx::OnInitDialog();// TODO: 在此添加额外的初始化CDialogEx::OnInitDialog();// TODO: 在此添加额外的初始化CRect rect;psgInformation.GetClientRect(&rect);psgInformation.SetExtendedStyle(psgInformation.GetExtendedStyle() |LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES | LVS_REPORT | LVS_ALIGNTOP); psgInformation.InsertColumn(0, _T("客户姓名"), LVCFMT_CENTER, rect.Width() / 3, 0);psgInformation.InsertColumn(1, _T("订票量"), LVCFMT_CENTER, rect.Width() / 3, 1);psgInformation.InsertColumn(2, _T("订票等级"), LVCFMT_CENTER, rect.Width() / 3, 2);return TRUE; // return TRUE unless you set the focus to a control// 异常: OCX 属性页应返回FALSE}2、void PsgCheck::showPsgOrdered(int airNumber, CString airDate, PsgOrdered*first){CString str[2];PsgOrdered *current=first;int len=0;while (current){str[0].Format(_T("%d"), current->getOrderNumber());str[1].Format(_T("%d"), current->getShippingSpace());psgInformation.InsertItem(len, current->getPsgName());psgInformation.SetItemText(len, 1, str[0]);psgInformation.SetItemText(len, 2, str[1]);current = current->getNext();UpdateData(false);len++;}}3、void PsgCheck::showPsgWaited(int airNumber, CString airDate, PsgWaited *first) {CString str[2];PsgWaited *current = first;int len = 0;while (current){str[0].Format(_T("%d"), current->getWaitedNumber());str[1].Format(_T("%d"), current->getShippingSpace());psgInformation.InsertItem(len, current->getName());psgInformation.SetItemText(len, 1, str[0]);psgInformation.SetItemText(len, 2, str[1]);len++;current = current->getLink();UpdateData(false);}}4、void PsgCheck::OnClickedButtonPsgOrdered(){// TODO: 在此添加控件通知处理程序代码UpdateData(true);if (airLineDate != _T("")){CAirSystemApp *app = (CAirSystemApp*)AfxGetApp();int i = app->isAirLine(airNumber, airLineDate);if (!i)AfxMessageBox(_T("你输入的航班不存在,请核对后再输入"), MB_OK | MB_ICONSTOP);else{showPsgOrdered(airNumber, airLineDate, app->getAirLine()[i -1].getPsgOrdered());}airNumber = 0;airLineDate.Empty();UpdateData(false);}else{AfxMessageBox(_T("请输入航班日期"), MB_OK | MB_ICONSTOP);}}5、void PsgCheck::OnClickedButtonInforWaited(){// TODO: 在此添加控件通知处理程序代码UpdateData(true);if (airLineDate != _T("")){CAirSystemApp *app = (CAirSystemApp*)AfxGetApp();int i = app->isAirLine(airNumber, airLineDate);if (!i)AfxMessageBox(_T("你输入的航班不存在,请核对后再输入"), MB_OK | MB_ICONSTOP);else{showPsgWaited(airNumber, airLineDate, app->getAirLine()[i -1].getPsgWaited());}airNumber = 0;airLineDate.Empty();UpdateData(false);}else{AfxMessageBox(_T("请输入航班日期"), MB_OK | MB_ICONSTOP); }}⑶程序框图图 3.3.5.1 查询乘客信息程序框图第四章调试分析4.1 遇到的问题○1使用ListBox显示航线信息和乘客信息时,显示信息很难做得到规范,如何规矩地显示所查询的信息;○2在使用ListControl控件时添加每一列的标题时,标题并没有显示;○3如何在ListControl控件添加每一行信息;○4int类型的数据如何转化为CString类型的数据○5无论在哪个模块所做的数据更新,都将涉及到航线信息的更新,然而他们却属于不同的模块,如何实现各模块之间的数据交互;○6在实现对应的数据结构时,有三种方案:一种是定义一个节点类(已定票乘客和等候乘客公用该节点类)和一个节点类链表;另一种是直接将已定票乘客和候补乘客定义为节点类,不定义链表类,实现时需要记录头节点;最后一种是在第二种的基础上再定义两个链表类,分别含有已定票乘客节点类的头指针和等候乘客节点类的头指针;选用哪种方案较好、较容易实现?○7在实现退票功能时,需要同时查询候补队列有无满足条件的乘客,有则需要将改乘客从候补队列删除,然后加入订票乘客队列,如何实现乘客信息在两个不同队列之间传递;○8在实现查询乘客信息模块时,查询结果为空;4.2 解决的办法○1使用ListControl控件可以实现信息的规范化显示;○2在ListControl控件中需设置器属性为report格式,这样才能以表格的形式规范显示查询信息,添加每一列的标题时方能成功显示;○3在添加每一行信息时,对于第一列的元素,使用该控件的函数InsertItem (int,CString),对于其他列的元素使用该控件函数SetItemText(int,int CString);○4使用CString类自带的函数Format(_T(“%d”),int);○5将航线定义为一个全局变量,这样无论在哪个模块所做的数据更新都可以传递该对应航线;○6三种方案中我选择了第三种方案,因为:第一种方案比较生疏,实现起来比较困难,确实如此,我实在碰壁之后才改变方案;第二种方案虽然感觉简单,但是我之后用这种方案时,失败了,因为我并没有记录头节点,所以我认为这种方案虽简单但容易犯错误;而第三种方案是我最终使用的方案,其优点在于实现简单,而且容易理解,不容易犯错误;○7为实现乘客信息互相传递,我定义两个临时的全局变量,分别记录了退票乘客的信息和候补乘客的信息;○8这个问题是因为初始时航线类中的乘客类指针都为空,而在每次订票和退票操作中,我并没有更新航线类的乘客类指针,所以解决方案就是每次进行订票和退票操作时都做相应的更新;第五章运行结果5.1 查询航线功能的输入与输出5.1.1 正确输入与正确输出图 5.1.1 查询航线初始化界面图 5.1.2 正确输入航线查询信息图 5.1.3 正确输出5.1.2 异常输入与异常输出○A不输入时的输出图 5.1.4 无输入时的输出○B输入航线错误图 5.1.5 输入航线错误图 5.1.6 航线错误输出5.2 订票功能的输入与输出5.2.1 正确输入与正确输出○A订票成功图 5.2.1 订票正确输入图 5.2.2 订票成功输出○B订票不成功图 5.2.3 订票正确输入图 5.2.4 订票失败5.2.2 异常输入异常输入的时候会出现相应的提示语,类似于查询航线功能。

相关文档
最新文档