机票预定系统课程设计说明书
- 格式:doc
- 大小:182.00 KB
- 文档页数:22
*******************实践教学*******************兰州理工大学计算机与通信学院2011秋季学期面向对象课程设计题目:机票预定系统专业班级:10级计算机(1)班姓名:张凯学号:10240114指导教师:年福忠成绩:目录摘要 (1)前言 (2)基本算法的实现(正文) (3)1.采用类c语言定义相关的数据类型 (3)2.各模块的伪码算法 (3)3.函数的调用关系图 (5)4.调试分析 (6)5.测试结果 (7)6.源程序(带注释) (10)总结 (17)参考文献 (18)致谢 (19)附件Ⅰ部分源程序代码 (20)摘要该设计要求对飞机航班信息进行排序和查找。
可按航班的班号、起点站、到达站、起飞时间以及到达时间等信息时行查询。
对于本设计,主要是通过线性表的逻辑结构、存储结构,线性表及队列上基本运算实现的。
可以让我们学会如何把学到的知识用于解决实际问题。
关键词:航班信息,客户信息,类C语言前言飞机在现今的社会中已是越来越重要了,人们在旅游、工作、学习等生活中对飞机几乎是不可缺少了。
而由乘坐飞机所引起的问题也深入到了计算机领域,飞机订票系统就是解决这种问题的一种途径。
如人们常常在订票前要对问很多信息(飞机的起落时间,机票的价格,乘坐的人数以及是否有票等等)。
这个系统主要是由线性表的链式存储结构以及队列的存储结构来存储航班信息与客户信息的。
它的主要功能:1、是录入航班信息,其调用函数为—insert_airline;2、查询航线(航班号,飞机号,日期,航班容量,余票数),其调用函数为:search_air;3、订票(根据客户提供的情况,办理订票手续),其调用函数为:book_air;4、承办退票业务(根据客户提供的情况,办理退票手续),其调用函数为:del_cus;5、删除已有航班信息,其调用函数为:del_airline .设计这样的一个系统可以很快的查出人们所需要的信息,能省去很多的步骤,而且还非常的准确。
1 引言............................................................................................................................. -2 -1.1 编写目的 ............................................................................................................ - 2 -1 。
2 背景.................................................................................................................. - 2 -1.3 定义 .................................................................................................................... - 2 -1.4 参考资料 ............................................................................................................ - 2 -2 总体设计 (3)2 。
1 需求规定 (3)2.2 运行环境 (3)2.3 基本设计概念和处理流程 ................................................................................... - 3 -2 。
4 结构 (5)2 。
5 功能需求与程序的关系 (6)2.6 人工处理过程 (7)2 。
航班预定系统课程设计一、课程目标知识目标:1. 了解航班预定系统的基本概念、功能模块及其在旅游业中的作用;2. 掌握航班预定系统中涉及的数据结构、算法和编程技巧;3. 学会运用所学知识分析、设计和实现一个简单的航班预定系统。
技能目标:1. 培养学生运用编程语言(如Python、Java等)实现航班预定系统各功能模块的能力;2. 培养学生运用软件工程方法进行系统分析、设计和测试的能力;3. 提高学生团队协作、沟通表达和解决问题的能力。
情感态度价值观目标:1. 激发学生对计算机科学和航空业的兴趣,培养其探究精神;2. 培养学生关注社会热点问题,认识到科技对生活的改变;3. 增强学生的社会责任感和职业道德意识,使其明白诚信、公正、敬业的重要性。
课程性质:本课程为信息技术课程,旨在通过实际项目设计,让学生掌握编程技能和软件工程方法,提高其解决实际问题的能力。
学生特点:本课程面向初中年级学生,学生对计算机编程有一定的基础,对实际项目设计充满好奇心。
教学要求:教师应注重理论与实践相结合,引导学生主动参与课程设计,培养其创新意识和实践能力。
在教学过程中,将课程目标分解为具体的学习成果,以便于教学设计和评估。
二、教学内容1. 航班预定系统概述- 了解航班预定系统的基本概念和发展历程;- 掌握航班预定系统的功能模块及其相互关系。
2. 数据结构与算法- 学习航班预定系统中涉及的数据结构(如列表、栈、队列等);- 掌握航班预定系统中常用的算法(如排序、查找等)。
3. 编程语言与开发环境- 学习使用Python、Java等编程语言进行航班预定系统的开发;- 熟悉开发环境(如Eclipse、PyCharm等)的使用。
4. 软件工程方法- 学习软件需求分析、系统设计、编码、测试等阶段的方法;- 掌握UML图、流程图等工具的使用。
5. 航班预定系统功能模块设计与实现- 设计并实现用户注册、登录、查询航班、预订航班、取消预订等功能;- 学习数据库的连接与操作,存储用户信息和航班信息。
目录摘要 .......................................................................... 错误!未定义书签。
第1章问题描述........................................................ 错误!未定义书签。
第2章概要设计........................................................ 错误!未定义书签。
2.1系统设计思想.................................................... 错误!未定义书签。
2.2系统设计与分析 (4)2.3 系统类层次及关系图 (5)第3章详细设计 (6)第4章测试与维护 (7)第5章软件使用说明书 (16)总结 (19)参考文献 (20)致谢 (21)摘要本课设是以飞机订票系统为实例,运用Visual c++ 6.0进行程序设计,开发机票预订系统。
本设计主要包括航班信息模块、用户基本资料模块。
根据这些功能,设计出系统的功能模块,每一个功能模块都需要针对不同的函数完成不同的操作,分别是录入信息模块, 查询信息模块,显示所有航班和订票信息模块,订票和退票模块;设计利用Visual c++ 6.0的基本特点,尽量提高了编程效率和可靠性。
关键词:机票预订系统,航班信息,订票信息。
第1章问题描述该设计要求以机票预订管理业务为背景,设计、开发一套“机票预订系统”软件。
实现航班信息和订票信息的录入,航班信息和订票信息的查询。
通过该题目的设计,培养面向对象程序设计的思想,要求达到熟练掌握C++(或Java)语言的基本知识和技能,基本掌握面向对象程序设计的基本思路和方法,能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。
同时强调好的程序设计风格,提高解决实际问题的能力。
四、概要设计说明书1.引言 (2)1.1 编写目的 (2)1.2 项目背景 (3)1.3 定义 (3)1.3.1 专门术语 (3)1.3.2 缩写 (3)1.4 参考资料 (4)2.任务概述 (4)2.1运行环境 (4)2.2需求概述 (4)3.总体设计 (5)3.1 处理流程 (5)3.1.1 客户机程序流程 (5)3.1.2 服务器程序流程 (6)数据库的输入输出。
(6)3.2 总体结构和模块外部设计 (7)3.3 功能分配 (7)4.接口设计 (7)4.1 外部接口 (7)4.1.1 用户界面 (7)4.1.2 软件接口 (8)4.1.3 硬件接口 (8)4.2 内部接口 (8)5.数据结构设计 (8)5.1 数据库数据结构设计 (8)5.2 物理数据结构设计 (10)5.3 数据结构与程序的关系 (11)6.运行设计 (12)6.1 运行模块的组合 (12)6.2 运行控制 (12)6.3 运行时间 (12)7.出错处理设计 (12)7.1 出错输出信息 (12)7.2 出错处理对策 (13)8.安全保密设计 (13)9.维护设计 (13)1.引言1.1编写目的在本机票预定系统项目的前一阶段,也就是需求分析阶段中,已经将系统用户对本系统的需求做了详细的阐述,这些用户需求已经在上一阶段中对航空公司、各旅行社及机场的实地调研中获得,并在需求规格说明书中得到详尽得叙述及阐明。
本阶段已在系统的需求分析的基础上,对机票预定系统做概要设计。
主要解决了实现该系统需求的程序模块设计问题。
包括如何把该系统划分成若干个模块、决定各个模块之间的接口、模块之间传递的信息,以及数据结构、模块结构的设计等。
在以下的概要设计报告中将对在本阶段中对系统所做的所有概要设计进行详细的说明。
在下一阶段的详细设计中,程序设计员可参考此概要设计报告,在概要设计对机票预定系统所做的模块结构设计的基础上,对系统进行详细设计。
在以后的软件测试以及软件维护阶段也可参考此说明书,以便于了解在概要设计过程中所完成的各模块设计结构,或在修改时找出在本阶段设计的不足或错误。
五、详细设计说明书1.引言 (2)1.1编写目的 (2)1.2项目背景 (2)1.3定义 (2)1.4参考资料 (2)2.总体设计 (3)2.1需求概述 (3)2.2软件结构 (3)3.程序描述 (3)3.1功能 (4)3.2性能 (4)3.3输入,输出项目 (5)3.4程序逻辑 (6)3.4.1、登录 (6)3.4.2、查询系统 (7)3.4.3、订票系统 (7)3.4.4、修改系统 (8)3.4.5、退票系统 (8)3.5接口 (8)3.5.1、用户接口 (8)3.5.2、外部接口 (9)3.5.3、内部接口 (9)3.6存储分配 (9)3.7限制条件 (9)3.8测试要点 (9)1.引言1.1编写目的在本机票预定系统项目的前一阶段,也就是概要设计阶段中,已经将系统用户对本系统的子模块功能做了详细的阐述,这些模块功能具体设计将在本报告中详尽得以叙述及阐明。
本阶段已在系统的概要设计的基础上,对机票预定系统做详细设计。
主要解决了实现该系统程序模块具体设计问题。
包括确定算法,数据结构,模块接口的使用,数据库的动态操作以及界面设计等。
在以下的概要设计报告中将对在本阶段中对系统所做的所有详细设计进行详细的说明。
在下一阶段的编码过程中,程序设计员可参考此详细设计报告,在详细设计对机票预定系统所做的算法设计,数据结构以及数据库动态操作的基础上,对系统进行编码。
在以后的软件测试以及软件维护阶段也可参考此说明书,以便于了解在详细设计过程中所完成的各模块算法设计,或在修改时找出在本阶段设计的不足或错误。
1.2项目背景开发软件名称:机票订票系统项目开发者:兰州理工大学软件工程机票订票系统开发小组:用户单位:旅客、航空公司1.3定义数据字典:关于数据的信息的集合,也即对数据流图中包含的元素的定义的集合。
1.4参考资料1.《软件工程导论》清华大学出版社张海藩编著2.《实用软件工程》清华大学出版社郑人杰等编著3.数据库系统概论(第三版)》高等教育出版社萨师煊王珊等编著4.《概要设计说明书》5.《需求规格说明书》2.总体设计2.1需求概述某航空公司为方便旅客,需开发一个机票预定系统。
目录6.1引言 (3)6.1.1编写目的 (3)6.1.2背景 (3)6.1.3定义 (4)6.1.4参考资料 (4)6.2 程序系统的结构 (5)6.3 登陆设计说明 (5)6.3.1 程序描述 (5)6.3.2 输人项 (6)6.3.3 输出项 (6)6.3.4 算法 (6)6.3.5 流程逻辑 (7)6.3.6 测试计划 (7)6.4 航班管理设计说明 (7)6.4.1 程序描述 (7)6.4.2 输人项 (7)6.4.3 输出项 (8)6.4.4 算法 (8)6.4.5 流程逻辑 (9)6.4.6 测试计划 (10)6.5 用户管理设计说明 (10)6.5.1 程序描述 (10)6.5.3 输出项 (10)6.5.4 算法 (11)6.5.5 流程逻辑 (12)6.5.6 测试计划 (13)6.6 管理员设计说明 (13)6.6.1 程序描述 (13)6.6.2 输人项 (14)6.6.3 输出项 (14)6.6.4 算法 (14)6.6.5 流程逻辑 (15)6.6.6 测试计划 (15)6.7 查询机票设计说明 (16)6.7.1 程序描述 (16)6.7.2 输人项 (16)6.7.3 输出项 (16)6.7.4 算法 (17)6.7.5 流程逻辑 (18)6.7.6 测试计划 (18)6.8 取票设计说明 (18)6.8.1 程序描述 (18)6.8.2 输人项 (19)6.8.3 输出项 (19)6.8.4 算法 (19)6.8.5 流程逻辑 (20)6.8.6 测试计划 (20)6.9 旅客管理设计说明 (20)6.9.1 程序描述 (20)6.9.2 输人项 (21)6.9.3 输出项 (21)6.9.4 算法 (21)6.9.5 流程逻辑 (22)6.9.6 测试计划 (22)6.10 旅行社设计说明 (22)6.1引言随着社会的发展,计算机已经被广泛应用到各个行业,为各个行业的发展都带来了很大的帮助。
机票订购系统.数据库设计说明书机票订购系统数据库设计说明书1.引言1.1 目的1.2 范围1.3 预期读者1.4 术语定义2.数据库概述2.1 数据库系统概述2.2 数据库模型选择2.3 数据库管理系统选择3.实体-关系模型设计3.1 实体识别3.2 属性定义3.3 关系建模3.4 实体-关系图4.数据库表设计4.1 用户表设计4.1.1 用户ID 4.1.2 用户名 4.1.3 密码4.1.4 个人信息 4.1.54.2 航班表设计4.2.1 航班ID 4.2.2 起飞城市 4.2.3 到达城市 4.2.4 航班时间 4.2.54.3 订单表设计4.3.1 订单ID 4.3.2 用户ID 4.3.3 航班ID4.3.4 订单状态 4.3.54.45.数据库关系定义5.1 主键约束5.2 外键约束5.3 唯一约束5.4 默认约束5.56.数据库安全性设计6.1 数据库登录认证 6.2 用户权限管理 6.3 数据备份与恢复6.47.性能和优化设计7.1 查询性能优化 7.2 索引设计7.3 数据库分区设计7.48.数据库测试与维护8.1 测试计划8.2 测试用例8.3 定期维护任务8.49.附件9.1 数据库模型文件9.2 数据库脚本10.法律名词及注释- 数据库:指存储有组织的数据的集合,可以被多个用户共享和访问的一种系统- 实体:指在数据库中表示现实世界中具体或抽象的对象,可以与其他实体发生关系- 关系: 指实体之间的联系,可以是一对多、多对多等关系- 主键约束: 用于确保关系表中的每条记录都具有唯一标识,并且不能为NULL的字段- 外键约束: 用于确保关系表中的外键与另一个表中的主键或唯一键之间的一致性- 唯一约束: 确保某个字段或字段组合的取值在整个表中都是唯一的- 默认约束: 为某个字段指定一个默认值,当该字段的值不被显式指定时,将自动使用默认值。
五、详细设计说明书1.引言 (1)1.1编写目的 (1)1.2项目背景 (2)1.3定义 (2)1.4参考资料 (2)2.总体设计 (2)2.1需求概述 (2)2.2软件结构 (3)3.程序描述 (3)3.1功能 (4)3.2性能 (4)3.3输入,输出项目 (4)3.4程序逻辑 (6)3.4.1、登录 (6)3.4.2、查询系统 (7)3.4.3、订票系统 (7)3.4.4、修改系统 (8)3.4.5、退票系统 (8)3.5接口 (8)3.5.1、用户接口 (8)3.5.2、外部接口 (9)3.5.3、内部接口 (9)3.6存储分配 (9)3.7限制条件 (9)3.8测试要点 (9)1.引言1.1编写目的在本机票预定系统项目的前一阶段,也就是概要设计阶段中,已经将系统用户对本系统的子模块功能做了详细的阐述,这些模块功能具体设计将在本报告中详尽得以叙述及阐明。
本阶段已在系统的概要设计的基础上,对机票预定系统做详细设计。
主要解决了实现该系统程序模块具体设计问题。
包括确定算法,数据结构,模块接口的使用,数据库的动态操作以及界面设计等。
在以下的概要设计报告中将对在本阶段中对系统所做的所有详细设计进行详细的说明。
在下一阶段的编码过程中,程序设计员可参考此详细设计报告,在详细设计对机票预定系统所做的算法设计,数据结构以及数据库动态操作的基础上,对系统进行编码。
在以后的软件测试以及软件维护阶段也可参考此说明书,以便于了解在详细设计过程中所完成的各模块算法设计,或在修改时找出在本阶段设计的不足或错误。
1.2项目背景开发软件名称:机票订票系统项目开发者:兰州理工大学软件工程机票订票系统开发小组:用户单位:旅客、航空公司1.3定义数据字典:关于数据的信息的集合,也即对数据流图中包含的元素的定义的集合。
1.4参考资料1.《软件工程导论》清华大学出版社张海藩编著2.《实用软件工程》清华大学出版社郑人杰等编著3.数据库系统概论(第三版)》高等教育出版社萨师煊王珊等编著4.《概要设计说明书》5.《需求规格说明书》2.总体设计2.1需求概述某航空公司为方便旅客,需开发一个机票预定系统。
目录1.课程设计目的 (1)2.课程设计题目描述和要求 (1)2.1.课题描述 (1)2.2 要求 (2)3.设计环境 (2)4.可行性研究 (3)4.1技术可行性 (3)4.2可行性方案 (3)4.3开发风险 (3)5.需求分析 (4)5.1系统的数据流图 (4)5.2机票预订系统的业务流程图 (5)5.3 机票预订系统数据描述 (6)6.概要设计 (8)6.1 系统功能图 (8)6.2 航班信息管理 (9)6.3取票处理模块 (9)6.4异常处理模块 (9)6.5接口设计 (10)7.数据库设计 (10)7.1数据库平台概述 (10)7.2数据库概念设计 (10)7.3 数据表结构 (11)7.4 数据库连实现 (12)8.详细设计 (14)8.1编码 (14)8.2系统实现 (14)9测试与维护 (17)9.1白盒测试 (17)9.2单元测试 (17)9.3综合测试 (20)9.4维护 (21)10.故障分析及解决 (21)10.1故障分析 (21)10.2解决办法 (22)10.3安全保密设计 (22)10.4维护设计 (22)11.总结 (22)12.课程设计结束语 (24)参考书目 (25)1.课程设计目的《软件工程》课程设计是计算机科学与技术专业集中实践性环节之一,是学习完《软件工程》课程后进行的一次全面的综合练习,涉及的深度广些并更加接近实用。
通过课程设计,使我们综合使用所学过的软件工程知识,掌握软件工程的基本思路和方法,利用所学的基本知识和技能,发挥自学能力和查找资料的能力,通过一个实例,运用软件开发中各个环节,加深对所学知识的理解与掌握,增强利用自己所学知识解决实际问题的能力,为后续各门计算机课程的学习打下坚实基础。
具体而言可以实现以下目的:1. 通过本课程设计的实践及其前后的准备与总结,复习、领会、巩固和运用软件工程课堂上所学的软件开发方法和知识,比如,软件项目的完整设计与开发过程、结构化技术、快速原型法和面向对象方法等。
机票预订系统程序设计说明书一、概述机票预订系统是一个用于客户预订机票的网站。
该系统需要实现以下功能:1. 客户注册和登陆2. 客户浏览和查询机票信息3. 客户在线预订机票4. 管理员管理机票信息和订单本说明书旨在提供系统的设计细节以及所需要的技术要求。
二、需求分析1.客户注册和登陆注册和登陆功能是网站的基础功能。
客户通过注册账号并登陆系统才能进行下一步的操作。
2.客户浏览和查询机票信息在网站主页上,客户可以查看机票的基本信息,包括航班号、出发地、目的地、日期和价格等。
客户可以使用查询功能来查找符合自己要求的机票信息。
3.客户在线预订机票当客户选择一条符合条件的机票后,系统将显示详细信息,并提示客户填写乘机人信息、联系方式和支付信息等,最后完成订单提交。
4.管理员管理机票信息和订单管理员可以添加、修改和删除机票信息。
管理员还可以查看、处理和审核客户提交的订单。
三、系统设计1. 系统架构该系统采用B/S架构(浏览器/服务器),前端使用HTML、CSS、JavaScript和jQuery等技术,后端使用PHP语言,数据库使用MySQL。
2. 前端设计客户访问系统的主页后,可以浏览和查询机票信息。
当客户选择一条机票后,系统会将其详细信息展示在新的页面上。
该页面会提供填写乘机人信息、联系方式和支付信息的表单,并进行验证,保证信息的准确性。
3. 后端设计系统的后端需要实现以下模块:(1)注册和登陆模块,实现客户注册和登陆功能;(2)机票信息管理模块,实现添加、修改和删除机票信息的功能;(3)订单管理模块,实现查看、处理和审核订单的功能;(4)支付模块,接入支付平台,实现支付功能;(5)邮件提醒模块,向客户发送订单确认和支付状态通知。
4. 数据库设计系统需要存储机票信息、用户信息和订单信息。
数据库需要设计以下表格:(1)机票信息表格,包括航班号、出发地、目的地、日期和价格等信息;(2)用户信息表格,包括用户名、密码、姓名、联系方式等信息;(3)订单信息表格,包括订单编号、客户信息、机票信息、支付状态等信息。
机票预定系统课程设计一、课程目标知识目标:1. 让学生理解机票预定系统的基本原理和功能需求,掌握系统设计的基本流程和关键环节。
2. 使学生掌握数据库查询、数据传递和界面设计等基本技术,并能应用于机票预定系统的开发中。
3. 帮助学生了解航班信息管理、用户权限管理以及支付安全等方面的知识。
技能目标:1. 培养学生运用所学知识进行机票预定系统的需求分析和功能设计的能力。
2. 提高学生使用数据库技术进行数据存储、查询和操作的能力,以及运用编程语言实现系统功能的能力。
3. 培养学生团队协作和沟通能力,能够共同完成一个完整的机票预定系统项目。
情感态度价值观目标:1. 激发学生对计算机科学和信息技术的兴趣,培养其探究精神和创新意识。
2. 培养学生认真负责的工作态度,注重实际操作和实践能力的提升。
3. 增强学生的网络安全意识,使其明白保护用户隐私和数据安全的重要性。
课程性质:本课程为高年级信息技术或计算机科学相关专业的实践课程,强调理论与实践相结合,注重培养学生的实际操作能力和团队协作能力。
学生特点:学生具备一定的编程基础和数据库知识,具有较强的学习能力和动手实践能力。
教学要求:教师需结合课本内容,采用项目驱动的教学方法,引导学生进行需求分析、功能设计、系统实现和测试评估等环节。
在教学过程中,关注学生的学习进度,及时解答学生疑问,确保学生能够达到预期的学习成果。
同时,注重培养学生的团队协作和沟通能力,提高其综合素质。
二、教学内容1. 机票预定系统概述- 了解机票预定系统的基本概念、发展历程和应用场景。
- 分析系统的主要功能模块和业务流程。
2. 需求分析与设计- 学习需求分析的方法和技巧,明确系统功能需求。
- 掌握系统设计的基本原则,进行功能模块划分和界面设计。
3. 数据库设计与实现- 学习数据库的基本概念,理解关系型数据库的原理。
- 掌握数据库表的设计,进行数据存储、查询和操作。
4. 编程语言与开发工具- 学习使用编程语言(如Java、Python等)进行系统开发。
机票预定系统设计书1. 功能简述本机票预订系统主要针对旅游电子商务系统。
可以提供航班班次,机票的票价,团购,打折等信息,并可以提供给用户在线预订和在线支付的服务;可以帮助网站处理和保存用户的订单信息。
操作员系统管理员、信息员,用户。
访问范围系统管理员主要对航班信息、网络用户等的相关信息进行审核以及处理,并维护整个系统可以正常运行;信息员提供航班班次,票价等信息,并对已预定机票的用户的相关信息进行综合整理;用户可以浏览网站关于机票预订的子网页,浏览航班班次,票价,打折,团购等信息,填写需要的航班日期,如果有需要的航班可享受在线预订和支付的服务,如果没有需要的航班,系统可自动提醒用户选择其他的方式,如火车,汽车等。
涉及的页面ASP页面:登录页面,机票查询页面、机票信息页面、预定信息页面、订单核对页面、订单完成页面、我的账户页面。
2.页面描述2.1机票查询页面本页面需要用户输入出发地、目的地、出发日期和时间来选择自己需要的航班界面初始化出发城市:数据取自出发(到达)城市字典表到达城市:数据取自出发(到达)城市字典表出发日期:调用公共功能 date.asp返回日期:调用公共功能 date.asp航程类型:数据取自航程类型字典表航班类型:数据取自航班类型字典表乘客人数:数据取自乘客人数字典表舱位等级:数据取自仓位等级字典表页面操作用户进入机票查询页面,输入相关信息,若有合适航班,需要登陆来预订机票,然后通过用户信息验证,付账结算,订票成功后系统会通知客户订票成功。
操作表展示输入要求2.2用户登陆页面如果用户查询到合适的机票,需要预定,即可由机票查询页面自动跳转,转入登陆系统。
2.3机票预定页面本页面用来实现用户对机票的预定功能。
用户首先通过查询得到自己所需的航班,然后登陆查看该航班还有没有被预订的座位,然后填写自己的详细信息之后就可以进行网上预定机票。
界面初始化证件类型:数据取自证件类型字典表支付方式:数据取自支付方式字典表页面操作本页面需要用户填写个人信息和联系方式,并选择支付方式。
+--数学与计算机学院课程设计说明课程名称:数据结构与算法B综合课程设计课程代码: 6013799题目: 飞机订票系统年级/专业/班: 2011计算机科学与技术03班学生姓名: 学号:开始时间:2012 年12月08日完成时间:2012 年12月 20 日课程设计成绩:指导教师签名:年月日西华大学数计学院课程设计说明书目录1 前言 (1)1.1问题的提出 (1)1.2任务与分析 (1)2 系统总体设计 (2)2.1开发工具 (2)2.2系统框图 (2)2.3模块功能 (3)2.3.1 航班录入 (3)2.3.2 查询 (3)2.3.3订票 (3)2.3.4退票 (3)2.3.5修改航班信息 (3)2.3.6显示航班信息 (3)2.3.7帮助 (3)3 人机界面设计 (4)3.1控件介绍 (4)3.2窗体 (4)3.3文本编辑框 (5)3.4下拉列表框 (5)3.5静态文本 (5)3.6按钮 (5)3.7菜单组件 (5)4 功能详细设计 (6)4.1航班信息的录入 (6)4.2航班查询 (11)4.3订票 (13)4.4退票 (18)4.5修改航班信息 (22)4.6显示航班信息 (28)4.7软件使用说明 (30)5 系统功能测试 (33)5.1航班信息的录入 (33)5.2查询 (35)5.3订票 (36)5.4退票 (37)5.5修改航班信息 (38)I飞机订票系统II 5.6显示航班信息 (38)结论 (39)致谢 (40)参考文献 (40)西华大学数计学院课程设计说明书摘要现在是计算机的时代,计算机的普及也有着它的原因,很多重复且繁杂的事物我们可以使用计算机来轻松的完成。
例如飞机、火车等等订票系统,我们可以通过这些系统方便地订票,并且对于大量的用户信息可以进行有条不絮的管理。
随着计算机的普及,相信计算机会让我们的日常生活越来越便利。
关键词:计算机订票系统便利III西华大学数学与计算机学院课程设计说明书1 前言1.1 问题的提出如今交通发达,航空业也越来越普及,很多人出行会选择飞机,所以航空公司每天都会有大量客户订票,而人工的记录又非常繁杂,因此我们可以通过计算机来让订票以及管理这些大量的客户信息变得轻松,并且拥有的更高效率。
飞机票订系统概要设计说明书(共12页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--《概要设计说明书》1引言编写目的在本机票预定系统项目的前一阶段,也就是需求分析阶段中,已经将系统用户对本系统的需求做了详细的阐述,这些用户需求已经在上一阶段中对航空公司、各旅行社及机场的实地调研中获得,并在需求规格说明书中得到详尽得叙述及阐明。
本阶段已在系统的需求分析的基础上,对机票预定系统做概要设计。
主要解决了实现该系统需求的程序模块设计问题。
包括如何把该系统划分成若干个模块、决定各个模块之间的接口、模块之间传递的信息,以及数据结构、模块结构的设计等。
在以下的概要设计报告中将对在本阶段中对系统所做的所有概要设计进行详细的说明。
在下一阶段的详细设计中,程序设计员可参考此概要设计报告,在概要设计对机票预定系统所做的模块结构设计的基础上,对系统进行详细设计。
在以后的软件测试以及软件维护阶段也可参考此说明书,以便于了解在概要设计过程中所完成的各模块设计结构,或在修改时找出在本阶段设计的不足或错误。
背景开发软件名称:飞机票订系统。
//(1)项目任务提出者:(2)项目开发者:(3)项目与其他软件,系统的关系:本项目采用客户机/服务器原理,客户端的程序是建立在Windows NT 系统上以Microsoft Visual C++为开发软件的应用程序,服务器端采用Linux 为操作系统的工作站,是采用Oracle 8的为开发软件的数据库服务程序。
定义1.3.1 专门术语SQL SERVER: 系统服务器所使用的数据库管理系统(DBMS)。
SQL: 一种用于访问查询数据库的语言事务流:数据进入模块后可能有多种路径进行处理。
主键:数据库表中的关键域。
值互不相同。
外部主键:数据库表中与其他表主键关联的域。
ROLLBACK: 数据库的错误恢复机制。
1.3.2 缩写系统:若未特别指出,统指本机票预定系统。
五、详细设计说明书1.引言 (1)1。
1编写目的 (1)1。
2项目背景 (1)1。
3定义 (1)1。
4参考资料 (2)2.总体设计 (2)2.1需求概述 (3)2.2软件结构 (4)3.程序描述 (4)3。
1功能 (4)3。
2性能 (4)3.3输入项目 (5)3。
4输出项目 (5)3.5算法 (5)3。
6程序逻辑 (5)3.7接口 (8)3。
8存储分配 (9)3.9限制条件 (9)3。
10测试要点 (9)1.引言1.1编写目的对软件项目系统进行详细的研究,确定项目开发的方向,对项目的实现以及功能的划分进行深入的探讨,确定项目的详细实现,对项目的实现确定规范详细设计文档面向项目组所有成员。
1。
2项目背景表1.2 项目基本情况说明用户民众计算中心完成搭建web网站系统的服务器系统间往来关系暂无1。
3定义➢SQL SERVER:系统服务器所使用的数据库关系系统(DBMS)。
➢SQL:一种用于访问查询数据库的语言➢事务流:数据进入模块后可能有多种路径进行处理。
➢主键:数据库表中的关键域.值互不相同.➢外部主键:数据库表中与其他表主键关联的域。
➢ROLLBACK:数据库的错误恢复机制。
缩写:➢系统:若未特别指出,统指本航空订票系统。
➢SQL:Structured Query Language(结构化查询语言)。
➢UML:统一建模语言、是一套用来设计软件蓝图的标准建模语言,是一种从软件分析、设计到编写程序规范的标准化建模语言。
➢Javaee:Java企业级平台。
1。
4参考资料文档格式要求按照我国GB/T85T7-1988国家标准和IEEE/ANSI830—1993标准规范要求进行。
包括以下文件:➢图书借阅关系系统需求说明书➢软件工程项目开发文档范例➢软件工程国家标准文档➢图书借阅管理需求说明书➢软件需求说明书编写规范书籍包括:➢软件工程导论(第6版) 张海藩牟永敏编著。
2.总体设计2。
1需求概述1.该订票系统的浏览用户被划分为游客(即未注册用户)与用户(即注册用户),未注册用户只能访问该系统的首页,首页提供登录功能和前往注册按钮,用户可以登录或者前往注册。
广西工学院c++面向对象课程设计说明书设计题目:航空客运订票系统系别计算机系专业班级学生姓名学号指导教师日期 2005-12-25完成飞机订票系统设计.设计目的:(1) 要求学生达到熟练掌握C++语言的基本知识和技能; (2) 基本掌握面向对象程序设计的基本思路和方法;(3) 能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。
问题描述:航空客运订票的业务活动包括:查询航线、客票预定和办理退票等。
本课程设计一个航空客运订票系统,用标准的面向对象c++语言使上述业务可以借助计算机在vc++平台上操作实现 基本要求:a) 要求利用面向对象的方法以及算法思想来完成系统的设计; b) 要求在设计的过程中,建立清晰的功能结构图; c) 在系统中要求使用文件存贮数据;d) 在系统的设计中,要设计完备的程序流程图。
关键字:Customer ,AirInfo ,飞机信息 包括乘客的基本信息,班机剩余的机票等 主要功能描述:i. 每条航线所涉及的信息有:终点名、航班号、飞机号、飞行时间、订票数余票量、已订票的客户名单:包括姓名、订票量、以及等候替补的客户名单(包括姓名、所需票量); ii.系统能实现的操作和功能如下:(1) 输入航班信息 :主要有 航班号,航班起点站,和 终点站,起飞的时间,飞行总时间,余票数和订票数。
(2) 查询航班:根据旅客提出的1航班号,2终点站,3航线名查找输出下列信息:(航班号、起点站、终点站,飞行时间,余票数;如果没有你查找的信息或查找完毕,输出询问信息是否继续查找用Y 和N 回答。
)(3) 订票业务:根据客户提出的要求(航班号、订票数额)查询该航班票额情况,若尚有余票,则为客户办理订票手续,输出信息;若已满员或余票少于订票额,则重新询问客户要求。
若需要,可登记排队候补;(4) 退票业务:根据客户提供的情况(日期、航班),为客户办理退票手续,然后查询该航班是否有人排队候补,首先询问排在第一的客户,若所退票额能满足他的要求,则为他办理订票手续,否则依次询问其他候补的客户。
(5) 修改航班信息 :对各航班信息进行修改,如航班号,航班起点站,和 终点站,起飞的时间,飞行的时间,余票数和订票数。
(6) f 删除航班信息 (7) g 航班信息保存 (8) h 退出订票系统模块设计的思想:i.程序程序建立所需的.txt 文件。
运行程序时,若找不到初始化所需文件,程序将视所有数据为空,即所有班机的机票都未被预定。
例如,首次运行该程序,不采取任何操作或加入— — 装 订 线— —若干信息后可从wait.txt文件导出文件已存有的信息。
ii.在查询模块中可根据程序给出的功能进行查询,然后输入要查询的信息,在输出界面上显示已订票的客户和正在排队等待的订票客户的所有信息,按任意键返回主界面。
iii.订票功能模块中,输入要订票的航班信息,输出界面显示已订票的客户或正在排队等待的订票客户信息,如已有等待订票客户,则显示暂时不能满足新的订票客户的需求,询问是否进入等待队列,是输入y和n确定,是的话输入客户的ID信息和所需的航班信息。
iv.退票的模块:输入要退票的航班信息,显示航班信息,已订票的客户和正在排队等待订票的客户信息,对两类客户(已订票的客户和正在排队等待订票的客户)都进行询问是哪类客户需要退票服务?选择确定然后输入要退票的客户ID,程序输出显示客户信息,并接着输出显示进行退票业务修改后的航班信息。
v.修改功能模块可对航班信息和客户的所有信息进行修改。
vi. 及时存储,程序种只要内容进行了改动,就及时的保存入文件,从而加大了程序的安全性,减小了对各种不安全因素可能引起的损失。
主要类的设计描述:class Customer //////////////////////////////////////////////客户类{public:string m_strID; //客户ID号string m_strName; //客户姓名int m_nWant; //客户要订的票数};class AirInfo //////////////////////////////////////////航班信息类{string m_strNum; //航班号string m_strStart; //航班起点站string m_strEnd; //航班终点站string m_strTime; //航班起飞时间日期string m_strFlyTime; //飞行时间int m_nCount; //航班票数int m_nLeftCount; //剩余票数public:vector<Customer> m_wPerson;//等待订票的顾客队列,其中m_wPerson.size()即为排队的客户数 vector<Customer> m_haveBook;//已订票客户AirInfo();void SetNum(string &n); //设计航班号void SetStart(string &start); //设计航班起飞点void SetEnd(string &end); //设计航班终点地void SetTime(string &time); //设计航班起飞时间void SetCount(int count); //设计航班票数void SetLeftCount(int left); //设计航班剩余票数void SetFlyTime(string &time); //设计航班飞行总时间void SetWait(Customer &p); //设计航班的等候订票队列,每次进一个人void SetHavingBookCustomer(Customer &p);//设计已订票的客户string GetFlyTime(); //获取航班飞行总时间string GetTime(); //获取航班起飞时间日期int GetWaitCount(); //获取等侯订票队列人数int GetLeftCount(); //航班剩余票数string GetStart(); //获取该航班起飞地string GetEnd(); //获取该航班终点地string GetNum(); //获取该航班号int GetCount(); //获取该航班总票数void PrintInfo(); //打印该航班的信息~AirInfo(){}}功能实现流程图:数据测试进入主界面:查询界面:订票界面:退票界面:分析总结:通过对C++面向对象此次课题的课程设计,加强了我对C++知识的掌握,特别是对面向对象的重载性、继承性、多态性有了比较熟练的掌握以及对模板应用进一步加强,给本人积累了丰富的编程经验和大大提高了我的动手能力,最后通过不少的数据测试运行,结果表明:各项数据在界面的传递正常,能达到预期效果。
通过这一课题的研究,使我受益非浅优点:本系统的特点是条理清晰,而且界面友善,大方,简单易用,美观。
类与类的关系明了,每个类都有头文件与实现文件分开。
缺点:界面是控制台的界面。
根据要求我觉得这是本程序的一个小缺陷。
致谢:感谢李老师和王老师给传输给我们的知识及你们的耐心指导。
同时也感谢身边同学给我提供各种帮助,特别是编程能力很强的那些同学给我的帮助,都是他们在我做这个课程设计过程中遇到问题时都教会我解决的方法。
参考文献:<C++编程思想> Bruce Eckel 刘宗田等机械工业出版社<C++程序设计教程> 钱能清华大学出版社附录:程序关键源代码:void AirInfo::SetHavingBookCustomer(Customer &p)// /记录已订票的客户int AirInfo::GetLeftCount()int AirInfo::GetWaitCount()string AirInfo::GetTime()string AirInfo::GetFlyTime()void AirInfo::SetWait(Customer &p)//每次进入一个等侯订票的客户,让客户排在队列后面void AirInfo::SetFlyTime(string &time)void AirInfo::SetLeftCount(int left)AirInfo::AirInfo(){//初始化为空m_strNum=""; //航班号m_strStart=""; //航班起点站m_strEnd=""; //航班终点站m_strTime=""; //航班起飞时间m_strFlyTime=""; //飞行时间m_nCount=0; //航班票数m_nLeftCount=0; //剩余票数}int AirInfo::GetCount()string AirInfo::GetNum()string AirInfo::GetEnd()string AirInfo::GetStart()void AirInfo::SetCount(int count)void AirInfo::SetTime(string &time)void AirInfo::SetEnd(string &end)void AirInfo::SetStart(string &start)void AirInfo::SetNum(string &n)void AirInfo::PrintInfo()//打印本航班信息{cout<<endl;cout<<"\t************************航班信息********************"<<endl;cout<<"\t航班号:"<<m_strNum<<"\t"<<"起飞站:"<<m_strStart<<"\t终点站:"<<m_strEnd<<endl;cout<<"\t起飞时间:"<<m_strTime<<"\t飞行总时间:"<<m_strFlyTime<<endl;cout<<"\t航班总票数:"<<m_nCount<<"\t剩余票数"<<m_nLeftCount<<endl;if(m_haveBook.size()!=0){cout<<"\t该航班有"<<m_haveBook.size()<<"个客户已订票,其信息如下:"<<endl;cout<<"\t\t";for(int i=0;i<m_haveBook.size();i++){cout<<"客户ID号:"<<m_haveBook[i].m_strID<<" "<<"客户姓名:"<<m_haveBook[i].m_strName<<" "<<"订票数量:"<<m_haveBook[i].m_nWant;cout<<endl<<"\t\t";}cout<<endl;}cout<<"\t\t**********"<<endl;if(m_wPerson.size()!=0){cout<<"\t该航班有"<<m_wPerson.size()<<"个客户等待订票,其信息如下:"<<endl;cout<<"\t\t";for(int i=0;i<m_wPerson.size();i++){cout<<"客户ID号:"<<m_wPerson[i].m_strID<<" "<<"客户姓名:"<<m_wPerson[i].m_strName<<" "<<"订票数量:"<<m_wPerson[i].m_nWant;cout<<endl<<"\t\t";}cout<<endl;}cout<<"\t*****************************************************"<<endl; }void LoadData(vector<AirInfo*> *vec_Air)//从文件导入数据{AirInfo* pA; //航班信息指针fstream dateFile;dateFile.open("AirInfo.txt",ios::in);//打开航班信息数据文件string tem; //临时变量int wait=0; //等待订票的客户数int date=0;int havedBook=0; //已订票和客户数while(dateFile>>tem) //从文件里导入数据{//处理一条航班记录{//动态创建pA=new AirInfo();//在内存申请一块空间pA->SetNum(tem); //设计航班编号//正在对一条记录处理,不能跳到另外一条记录}///////////////////////////////对数字处理{dateFile>>tem;date=atoi(tem.c_str()); //把字符串转换成整形intpA->SetCount(date); //设计航班票数dateFile>>tem;date=atoi(tem.c_str());pA->SetLeftCount(date); //设计航班剩余票数//////对已订票的客户处理dateFile>>tem;havedBook=atoi(tem.c_str());for(int j=0;j<havedBook;j++){Customer havedPerson;dateFile>>tem;havedPerson.m_strID=tem; //客户IDdateFile>>tem;havedPerson.m_strName=tem;//客户名字dateFile>>tem;havedPerson.m_nWant=atoi(tem.c_str());//客户要订票的数目pA->SetHavingBookCustomer(havedPerson);}////////////////////////////////////////////////////////////////////////////对等候客户的数据导入dateFile>>tem;wait=atoi(tem.c_str()); //本航班有wait个客户等候排队订票for(int i=0;i<wait;i++) //有wait个客户等待订票,每个客户订票数不同{Customer person;dateFile>>tem;person.m_strID=tem; //客户IDdateFile>>tem;person.m_strName=tem;//客户名字dateFile>>tem;person.m_nWant=atoi(tem.c_str());//客户要订票的数目pA->SetWait(person);}}vec_Air->push_back(pA);//把本航班的整条信息记录放入模板里(用作航班信息暂存器)}dateFile.close(); //关闭文件}void FindAirInfo(vector<AirInfo*> vec_Air)// ////////////////////////////查询航班信息void BookAirInfo(vector<AirInfo*> *vec_Air)// ////////////////////////////订票{vector<AirInfo*>::iterator v_Iter;//当作指针用system("cls");//清屏cout<<endl;string num;//航班号cout<<"\t请输入要订票的航班号:";cin>>num;for(v_Iter=vec_Air->begin();v_Iter!=vec_Air->end();v_Iter++){if((*v_Iter)->GetNum()==num)//找到相应的航班号{(*v_Iter)->PrintInfo();//输出航班信息break;}}if(v_Iter==vec_Air->end())//如果找到记录最后还没有找到此航班的记录{cout<<"\t对不起,暂时没有此航班号!";cin.get();cin.get();return ;}if((*v_Iter)->m_wPerson.size()!=0)//是否有客户在等候订票{for(int i=0;i<(*v_Iter)->m_wPerson.size();i++){//如果第一个客户所订票数小于此航班所剩余的票数,则询问此客户是否要订票if((*v_Iter)->m_wPerson[0].m_nWant<(*v_Iter)->GetLeftCount()){cout<<"\t请先核对并满足排队等候本航班的客户!"<<endl;//计算剩余票数int left=(*v_Iter)->GetLeftCount()-(*v_Iter)->m_wPerson[0].m_nWant;char meet;//满足要求cout<<"\t可以满足等候本航班的第一个客户的订票数,是否要订票?(y/n):";cin>>meet;if(meet=='y')//满足此客户的订票需求{vector<Customer>::iterator Iter_person; //声明一个客户类型的指针Iter_person=(*v_Iter)->m_wPerson.begin(); //指向等候队列首地址(*v_Iter)->SetLeftCount(left);cout<<"\t已经为等候本航班的第一个客户订票!请通知该客户!"<<endl;Customer Person;Person.m_strID=(*v_Iter)->m_wPerson[0].m_strID;Person.m_strName=(*v_Iter)->m_wPerson[0].m_strName;Person.m_nWant=(*v_Iter)->m_wPerson[0].m_nWant;//把已满足的客户放入已订得票的客户记录(*v_Iter)->m_haveBook.push_back(Person);//删除第一个已经满足订票的客户(*v_Iter)->m_wPerson.erase(Iter_person);//输出修改后的本航班所有信息(*v_Iter)->PrintInfo();i--;//为了不错过每一个客户}}}}if((*v_Iter)->m_wPerson.size()!=0)//还有客户等候本航班{char wait='n';cout<<"\t系统暂不能满足新客户的订票要求!是否要排队等候?(y/n):";cin>>wait;if(wait=='y'){Customer p;//声明一个要等候的客户对象cout<<"\t请输入此客户的ID编号:";cin>>p.m_strID;cout<<"\t请输入此客户的姓名:";cin>>p.m_strName;cout<<"\t请输入要订票的数目:";cin>>p.m_nWant;(*v_Iter)->m_wPerson.push_back(p);//进行排队等候cout<<"\t此客户已经进入本航班的订票排队!";}}else //新客户,本航班没有客户在等候排票{int count;cout<<"\t请输入新客户要订票的数量:";cin>>count;if((*v_Iter)->GetLeftCount()<count){cout<<endl;cout<<"\t对不起,本航班已没有足够的票数"<<endl;cout<<"\t是否要进入排队等候?(y/n):";char ch;cin>>ch;if(ch=='y'){Customer p;cout<<endl;cout<<"\t请输入此客户的ID号:";cin>>p.m_strID;cout<<endl;cout<<"\t请输入此客户的姓名:";cin>>p.m_strName;p.m_nWant=count;(*v_Iter)->m_wPerson.push_back(p);cout<<"\t此客户已进入等候排队订票中!"<<endl;}else{cout<<endl;cout<<"\t您已取消了排队等候订票!"<<endl;}}else//可以满足订票要求,把新客户放入已订得票的客户记录里{Customer person;cout<<endl;cout<<"\t请输入新客户的ID号:";cin>>person.m_strID;cout<<endl;cout<<"\t请输入新客户的姓名:";cin>>person.m_strName;person.m_nWant=count;int left=(*v_Iter)->GetLeftCount()-count;//(*v_Iter)->SetLeftCount(left); //设计本航班剩余票数(*v_Iter)->m_haveBook.push_back(person); //记录可订得票的客户cout<<endl;cout<<"\t成功为新客户订票!"<<endl;}}cout<<"\t按任意键返回主界面";//////////////////////////////////////////////////////////////////////////// cin.get();cin.get();}void CancelAirInfo(vector<AirInfo*> *vec_Air)// /////////////////////////////////////////取消订票(航班){vector<AirInfo*>::iterator v_Iter;//指针system("cls");cout<<endl;string num;//航班号cout<<"\t请输入要取消订票的航班号:";cin>>num;for(v_Iter=vec_Air->begin();v_Iter!=vec_Air->end();v_Iter++){if((*v_Iter)->GetNum()==num)//找到相应的航班号{(*v_Iter)->PrintInfo();//输出航班信息break;}}if(v_Iter==vec_Air->end())//如果找到最后还没找到相应的航班记录{cout<<"\t对不起,暂时没有此航班号!";cin.get();cin.get();return ;}char choice='n';cout<<"\t要取消订票的客户是否在等候订票队列?(是则输入'y'):"<<endl;cout<<"\t要取消订票的客户已经得了票(是则输入'n'):";cout<<"\t请选择(y/n):";cin>>choice;if(choice=='y'&&(*v_Iter)->m_wPerson.size())//在等候订票的客户取消等候订票业务{string strID;//客户IDcout<<"\t请输入在排队的客户ID:";cin>>strID;for(int i=0;i<(*v_Iter)->m_wPerson.size();i++)//查找队列是否有此ID的客户{if((*v_Iter)->m_wPerson[i].m_strID==strID)//找到有此ID的客户{cout<<"\t所找的客户信息如下:"<<endl;cout<<"\t客户ID:"<<(*v_Iter)->m_wPerson[i].m_strID<<"\t"<<"姓名:"<<(*v_Iter)->m_wPerson[i].m_strName<<"\t"<<"所订票数:"<<(*v_Iter)->m_wPerson[i].m_nWant<<endl;cout<<"\t确定要取消此客户的等候订票业务吗?(y/n):";cin>>choice;if(choice=='y')//取消订票{vector<Customer>::iterator v;v=(*v_Iter)->m_wPerson.begin()+i;(*v_Iter)->m_wPerson.erase(v);//删除此客户所有信息cout<<"\t成功取消此客户的订票业务!"<<endl;(*v_Iter)->PrintInfo();//输出取消订票业务后的此航班记录信息}break;}}if(i==(*v_Iter)->m_wPerson.size()){cout<<"\t对不起,没有此客户在等候订票队列!"<<endl;}}else if(choice=='n'&&(*v_Iter)->m_haveBook.size())//订票的客户,不在等候队列里即已经得到票){string strID;//客户IDcout<<"\t请输入要退票的客户ID:";cin>>strID;for(int i=0;i<(*v_Iter)->m_haveBook.size();i++)//查找队列是否有此ID的客户{if((*v_Iter)->m_haveBook[i].m_strID==strID)//找到有此ID的客户{cout<<"\t所找的客户信息如下:"<<endl;cout<<"\t客户ID:"<<(*v_Iter)->m_haveBook[i].m_strID<<"\t"<<"姓名:"<<(*v_Iter)->m_haveBook[i].m_strName<<"\t"<<"所订票数:"<<(*v_Iter)->m_haveBook[i].m_strName<<endl;cout<<"\t确定要取消此客户的订票业务吗?(y/n):";cin>>choice;if(choice=='y')//取消订票{int left=(*v_Iter)->GetLeftCount()+(*v_Iter)->m_haveBook[i].m_nWant;(*v_Iter)->SetLeftCount(left);//设计剩余票数vector<Customer>::iterator v;v=(*v_Iter)->m_haveBook.begin()+i;(*v_Iter)->m_haveBook.erase(v);//删除此客户所有信息cout<<"\t成功完成此客户的退票业务!"<<endl;cout<<"\t修改订票业务后的本航班信息如下:"<<endl;(*v_Iter)->PrintInfo();//输出取消订票业务后的此航班记录信息}break;}}if(i==(*v_Iter)->m_haveBook.size()){cout<<"\t对不起,没有此客户在已订票客户记录里!"<<endl;}}else{cout<<"\t本航班没有任何客户!"<<endl;}cout<<endl;cout<<"\t按任意键返回主界面";cin.get();cin.get();}void SaveAirInfo(vector<AirInfo*> vec_Air)// ///////////////////////////所有航班信息记录存盘void main() //////////////////////////////////////////////////////////////////////////////////////////主函数{vector<AirInfo*> vec_Air; //用于对所有航班信息记当进行各种操作,相当于内存暂存器vector<AirInfo*>::iterator v_Iter;//用于对vec_Air进行遍历的AirInfo类型的指针AirInfo* pA;LoadData(&vec_Air);//导入数据char choice='p';while(choice!='0'){system("cls");//清屏cout<<endl;cout<<"\t******************航空订票系统********************"<<endl; cout<<"\t******广西工学院计算机工程系计035班梁姣莹******"<<endl; cout<<"\t\t\t"<<endl;cout<<"\t\t1.输入航班信息"<<"\t\t2.查询航班"<<endl;cout<<"\t\t3.订票业务"<<"\t\t4.退票业务"<<endl;cout<<"\t\t5.修改航班信息"<<"\t\t6.删除航班信息"<<endl;cout<<"\t\t7.浏览总航班信息"<<"\t8.保存"<<endl;cout<<"\t\t0.退出"<<endl;cout<<"\t**************************************************"<<endl; cout<<"\t请选择(0-8):";cin>>choice;switch(choice){case '1'://输入航班信息{NewAirInfo(&vec_Air); break;}case '2'://查询航班{FindAirInfo(vec_Air); break;}case '3'://订票业务{BookAirInfo(&vec_Air); break;}case '4'://退票业务{CancelAirInfo(&vec_Air); break;}case '5'://修改航班信息{ModifyAirInfo(&vec_Air);break;}case '6'://删除航班信息{DelAirInfo(&vec_Air); break;}case '7'://浏览总航班信息{ScanAirInfo(vec_Air); break;//}case '8'://所有航班记录存盘{SaveAirInfo(vec_Air); break;}case '0':break;//退出本系统default:break;}}}。