《飞机订票系统》课程设计报告
c课程设计飞机订票系统
c课程设计飞机订票系统一、课程目标知识目标:1. 学生能理解飞机订票系统的基本原理,掌握其功能模块和使用方法。
2. 学生能运用所学编程语言,设计并实现一个简单的飞机订票系统。
3. 学生了解数据库的基本操作,能运用数据库管理飞机票务信息。
技能目标:1. 学生掌握编程语言的基本语法,能运用条件语句、循环语句等编写程序。
2. 学生具备一定的系统设计能力,能根据需求分析,设计出合理的系统模块。
3. 学生能够运用数据库技术,实现数据的增、删、改、查等操作。
情感态度价值观目标:1. 学生培养对计算机编程的兴趣,激发学习主动性和创新能力。
2. 学生树立团队合作意识,学会与他人共同解决问题,提高沟通与协作能力。
3. 学生通过课程学习,认识到信息技术的应用价值,增强对信息社会的责任感。
课程性质分析:本课程为信息技术学科,旨在培养学生掌握编程语言和数据库技术,通过设计飞机订票系统,提高学生的实际操作能力和解决实际问题的能力。
学生特点分析:本课程针对初中年级学生,他们对计算机有一定的兴趣,具备一定的逻辑思维能力,但编程基础和实际操作能力有限。
教学要求:1. 教学内容与课本紧密结合,注重理论与实践相结合,提高学生的实际操作能力。
2. 教学过程中,关注学生的个体差异,给予个性化指导,确保每个学生都能掌握课程内容。
3. 通过小组合作、讨论等形式,培养学生的团队协作能力和沟通能力。
二、教学内容1. 理论知识:- 了解飞机订票系统的基本概念和功能。
- 学习编程语言的基本语法,如变量、数据类型、运算符、条件语句和循环语句等。
- 掌握数据库的基本概念,如表、字段、记录等。
2. 实践操作:- 设计飞机订票系统的功能模块,如用户注册、登录、航班查询、购票、退票等。
- 编写程序代码,实现飞机订票系统的各个功能。
- 学习数据库的创建和操作,管理飞机票务信息。
3. 教学大纲:- 第一周:飞机订票系统概述,学习编程语言基本语法。
- 第二周:设计系统功能模块,学习条件语句和循环语句。
飞机订票系统c语言课程设计
飞机订票系统c语言课程设计一、课程目标知识目标:1. 理解C语言在开发飞机订票系统中的应用,掌握面向过程编程的基本原理;2. 学会使用C语言进行数据结构设计,如数组、结构体等;3. 掌握C语言中的文件操作,实现对数据的存储和读取。
技能目标:1. 能够运用所学知识,设计并实现一个简单的飞机订票系统;2. 培养学生的逻辑思维和问题分析能力,使其能够通过编程解决实际问题;3. 提高学生的团队协作能力,通过分组合作完成课程设计。
情感态度价值观目标:1. 培养学生对计算机编程的兴趣,激发其主动学习的热情;2. 培养学生严谨、认真的工作态度,养成良好的编程习惯;3. 增强学生的自信心,使其在完成课程设计的过程中,感受到编程带来的成就感。
分析课程性质、学生特点和教学要求,本课程旨在通过飞机订票系统这一实际案例,让学生掌握C语言的基本知识和编程技能,培养其运用编程解决问题的能力。
课程目标具体、可衡量,便于后续教学设计和评估。
在教学过程中,注重理论与实践相结合,引导学生主动探究、积极实践,以实现课程目标。
二、教学内容1. C语言基础知识回顾:数据类型、运算符、控制结构等;2. 数据结构设计:数组、结构体、链表等在飞机订票系统中的应用;3. 函数设计与实现:模块化编程,实现系统各个功能模块;4. 文件操作:数据存储和读取,实现对订票信息的持久化;5. 系统设计:分析飞机订票系统需求,设计系统功能模块;6. 编程实践:分组合作,完成飞机订票系统的设计与实现;7. 测试与调试:对完成的系统进行测试,查找并修复错误。
教学内容依据课程目标,结合教材相关章节进行组织。
具体教学安排如下:第一周:回顾C语言基础知识,学习数据结构设计;第二周:学习函数设计与实现,掌握文件操作;第三周:分析飞机订票系统需求,设计系统功能模块;第四周:分组编程实践,完成飞机订票系统的设计与实现;第五周:系统测试与调试,总结课程设计。
教学内容科学系统,确保学生在掌握C语言基础知识的同时,能够学以致用,提高编程实践能力。
C++课程设计报告飞机订票管理系统
C++课程设计报告飞机订票管理系统一、设计背景和目的随着航空业的不断发展,飞机订票系统逐渐成为人们旅游和出行的必须工具。
为了提高飞机订票系统的效率和便捷性,开发一款好用的飞机订票管理系统显得尤为重要。
本次课程设计即以C++为编程语言,设计一款简单实用的飞机订票管理系统。
二、系统功能1、用户注册/登录用户初次使用系统需要先进行注册,填写相关信息,包括用户名、密码等,并进行确认。
之后系统将给用户分配一个专用ID。
已经注册的用户可以通过输入用户名和密码进行登录。
2、航班查询用户登录系统后,可以通过系统查询到航班信息,并可以进行筛选和排序,便于用户选择最优航班。
3、机票订购用户选择航班后,可以进行机票订购操作。
订票后,系统将保留座位,并且将相应信息存入系统数据库。
机票订购成功后,系统将显示用户订票的详细信息。
4、支付系统用户在订票后需要进行支付操作,支付成功后机票订购成功。
5、订单管理系统管理员可以对用户订票信息进行管理,并且可以对订单信息进行统计和分析,改善系统运营效率。
三、技术框架和编程实现本系统采用C++语言进行编写,使用了面向对象的编程思想,包括以下类:1、User类该类实现了用户的注册和登录功能。
其中包含属性有用户名、密码等,包含方法有注册、登录等。
2、Flight类该类实现了航班信息的查询和排序功能。
其中包含属性有航班号、起飞时间、到达时间等,包含方法有查询、排序等。
3、Ticket类该类实现了机票订购和支付功能。
其中包含属性有座位号、价格等,包含方法有订购、支付等。
4、Order类该类实现了订单管理和统计功能。
其中包含属性有订单号、用户ID、航班号和票价等,包含方法有查询、删除、统计等。
以上四个类的成员变量和成员函数实现都需要在不同的源文件里面实现,最后通过主函数进行调用和启动。
四、系统运行和测试本系统可以通过Visual Studio等C++编程环境进行调试和运行。
在本地测试中,我们可以输入不同的用户名和密码,可以查询不同的航班,并进行筛选和排序,可以订购机票并支付,也可以通过系统管理员身份对用户订单进行管理和统计。
飞机售票系统课程设计报告
飞机售票系统课程设计报告一、课程目标知识目标:1. 让学生理解飞机售票系统的基本概念、功能及工作原理。
2. 让学生掌握飞机售票系统中涉及的航空公司、航班、座位、票价等基本知识点。
3. 让学生了解飞机售票系统在实际应用中的数据处理和存储方法。
技能目标:1. 培养学生运用所学知识分析和设计飞机售票系统的能力。
2. 培养学生使用编程语言或工具实现飞机售票系统基本功能的能力。
3. 培养学生通过实际操作,掌握飞机售票系统的使用方法。
情感态度价值观目标:1. 培养学生对计算机科学和技术领域的兴趣,激发他们探索航空业信息化的热情。
2. 培养学生具备团队协作精神,学会与他人共同解决问题。
3. 培养学生关注社会发展,认识到信息技术在航空业中的重要作用。
课程性质分析:本课程为信息技术或计算机科学与技术相关课程的实践环节,旨在让学生将所学理论知识运用到实际项目中,提高他们的实践能力。
学生特点分析:学生为高中年级学生,具备一定的计算机操作和编程基础,对新鲜事物充满好奇心,善于团队合作。
教学要求:1. 结合课本知识,注重理论与实践相结合,提高学生的动手能力。
2. 注重培养学生的创新意识和解决问题的能力。
3. 强调团队协作,提高学生的沟通与协作能力。
二、教学内容1. 基本概念:介绍飞机售票系统的定义、功能、发展历程及在航空业中的重要性。
关联教材章节:第一章 计算机售票系统概述2. 系统架构:讲解飞机售票系统的整体架构,包括客户端、服务器端、数据库等组成部分。
关联教材章节:第二章 售票系统架构与设计3. 数据库设计:学习飞机售票系统中涉及的表结构设计,如航班信息、座位信息、旅客信息等。
关联教材章节:第三章 数据库设计4. 功能模块:详细介绍飞机售票系统的各个功能模块,如查询航班、预订机票、支付、退改签等。
关联教材章节:第四章 售票系统功能模块设计5. 编程实践:指导学生使用编程语言(如Python、Java等)或工具(如Visual Basic、Access等)实现飞机售票系统的基本功能。
飞机订票系统课程设计
河南城建学院课程设计报告书专业:计算机科学与技术课程设计名称:《数据结构课程设计》题目:飞机订票系统班级:0814122班学号:081412220姓名:郭晓甜同组人员: 王彬宇指导老师:张延红张芳芳杨斌完成时间:2014年2月28日摘要随着时代的进步社会分工的不断细化,各个行业联系的不断密切,人们的出行越来越多,出行的方式也各种各样,作为空中的重要交通工具,飞机航空系统也在不断地得到优化,其中重要的一项就是飞机航空订票系统,因此好的订票系统关系着人么日常出行的方便与否,设计并编制出符合人们需要的航空订票系统是一项繁重而且艰巨的任务,需要我们认真去完成。
本文采用C作为前台开发工具,VC6.0作为程序代码的实现,旨在实现对现有飞行系统中遇到的各种情况进行良好的改进。
关键词:C,C++,VC6.0,数据结构,飞机订票系统;目录目录 (1)第一章开发环境和开发工具 (1)1.1C#语言简介 (1)1.2 开发背景 (1)1.3 开发环境 (1)第二章算法思想 (2)2.1 系统需求分析 (2)2.2 系统总体设计 (2)2.2.1 系统设计目标 (3)2.2.2 开发设计思想 (3)2.2.3 系统功能模块设计 (3)2.3 算法思想描述 (4)第三章算法实现 (9)3.1 数据结构 (9)3.2 程序模块 (9)3.3 各模块之间的调用关系 (9)3.4 源程序代码 (10)第四章测试与分析 (20)4.1 测试数据选择 (20)4.2 测试结果分析 (20)总结 (22)心得体会 (22)参考文献 (23)第一章开发环境和开发工具1.1 C/ C ++语言简介一种面向对象的开发语言,C++是一种使用非常广泛的计算机编程语言。
C++是一种静态数据类型检查的、支持多重编程方式的通用程序设计语言。
它支持过程化程序设计、数据抽象、面向对象程序设计、泛型程序设计等多种程序设计风格。
其编译器比目前其他计算机语言的编译技术更复杂。
c飞机订票系统课程设计
c飞机订票系统课程设计一、课程目标知识目标:1. 让学生理解飞机订票系统的基本原理和功能模块,掌握相关概念和术语;2. 使学生掌握数据库查询、数据输入输出、界面设计等基本编程技能;3. 帮助学生了解我国民航业的发展现状和飞机订票系统的实际应用。
技能目标:1. 培养学生运用所学知识设计和开发一个简单的飞机订票系统;2. 培养学生分析和解决实际问题的能力,提高团队协作和沟通能力;3. 培养学生运用计算机技术进行信息处理和创新能力。
情感态度价值观目标:1. 培养学生对计算机科学和民航业的兴趣,激发学习热情;2. 培养学生关注社会热点问题,增强社会责任感和使命感;3. 培养学生尊重知识产权,遵循法律法规,树立正确的价值观。
课程性质:本课程为实践性较强的学科课程,结合编程、数据库和民航知识,旨在培养学生的实际操作能力和解决问题的能力。
学生特点:学生具备一定的计算机编程基础和民航知识背景,对新鲜事物充满好奇,具备较强的动手能力和团队协作精神。
教学要求:教师应注重理论与实践相结合,充分调动学生的积极性,引导学生主动探究,注重培养学生的创新能力和实践能力。
在教学过程中,关注学生的个体差异,给予个性化指导,确保课程目标的实现。
通过课程学习,使学生能够达到预定的学习成果,为后续相关课程的学习打下坚实基础。
二、教学内容1. 理论知识:- 计算机网络基础:介绍网络通信原理,TCP/IP协议,网络编程基础;- 数据库原理:讲解数据库的基本概念,关系型数据库的设计与应用;- 民航知识:介绍民航业的发展,飞机票务系统的业务流程及功能需求。
2. 实践操作:- 界面设计:学习使用相关工具进行界面设计,制作飞机订票系统的用户界面;- 数据库操作:掌握SQL语句,实现对数据库的增删改查操作;- 编程实现:运用所学编程语言,实现飞机订票系统的核心功能。
3. 教学大纲:- 第一周:计算机网络基础,数据库原理;- 第二周:民航知识,界面设计;- 第三周:数据库操作,编程实现;- 第四周:综合实践,项目调试与优化。
飞机订票系统课程设计报告人才管理与系统完善
飞机订票系统课程设计报告人才管理与系统完善关于飞机订票系统的课程设计报告的一些思路和建议。
一、选题背景和意义现代化的交通运输系统为人们的生产、生活以及经济发展带来了巨大的便利,而机票订购作为交通运输系统的重要组成部分,也越来越得到人们关注。
因此,设计一个高效、安全、可靠、方便的飞机订票系统,对于提高机票预定及购票效率,实现国内民航市场的信息化和现代化,具有非常重要的意义。
二、课程设计的主要内容和目标1. 系统需求分析:系统开发前需要对需求进行详尽的分析和规划,包括界面设计、系统数据库的设计等。
2. 数据库设计:包括数据库建模、定义数据结构、定义实体及其属性等。
3. 系统架构设计:这是整个系统的核心部分,设计需根据功能划分的模块进行构建,并确定各种关键的模块之间的交互关系,比如订单管理、票务管理、会员管理、支付管理等。
4. 系统开发与实现:基于需求分析、数据库设计以及系统架构设计,进行测试、编码、调试等,实现整个系统。
5. 系统完善:包括性能优化、安全性加固、兼容性问题的解决等。
三、在系统设计过程中需要考虑的因素1. 用户体验:系统操作应当简单、明了、易于理解,从而方便用户进行操作,提高用户的使用体验并减少操作出错的可能性。
2. 安全性:系统应当设备多种安全措施,防范用户信息泄漏或被黑客攻击,包括数据加密、用户认证、审计等。
3. 可维护性:系统中应当考虑到技术的更新换代,因此在设计时需要进行规范化开发,模块化设计。
4. 兼容性:系统应能在多种操作系统和浏览器上运行,面向多个设备进行开发,以便让更多的用户能够使用该系统。
总之,飞机订票系统的课程设计需要考虑到各种实际因素,系统设计应具有安全性、可维护性、用户体验良好的特点,同时也需要在实际中寻找更好的完善方法。
C语言课程设计报告飞机订票系统
C语言课程设计报告飞机订票系统摘要本文是关于C语言课程设计报告飞机订票系统,它具有灵活的菜单,可以让用户轻松查看有关航班信息的详细信息,并用于购买操作。
本文旨在概述程序的全部运行流程,运用相关编程技术来实现订票系统。
关键词:C 语言课程设计,飞机订票系统,编程技术1 引言随着科技的不断发展,传统的人工订票系统已经不能满足人们的复杂需求,订票系统需要采用新技术来改进,以适应现代用户的需求。
为了建立一个高效的订票系统,我们开发了一个飞机订票系统。
它具有基于菜单式界面的灵活性,可以有效地实现飞机航班信息的查询,购票和航班信息的管理。
本报告着重介绍了构筑飞机订票系统的过程,旨在介绍编程技术以及每个模块的函数、功能实现,并概述程序的全部运行流程。
2 技术框架编写本程序的主要语言是C,采用层次功能模块结构设计,分为用户界面,数据管理,查询服务,支付服务和关系维护四个主要模块。
(1)用户界面用户界面模块主要实现功能是提供用户访问的菜单界面,用户可以在输入信息后,访问系统并根据输入信息获取反馈,进行下一步操作。
(2)数据管理数据管理包含数据结构和文件管理模块,它用来存储和管理航班信息、乘客信息等有关数据,数据在使用后可以及时写入文件。
(3)查询服务查询服务模块提供用户查询航班信息所必需的功能,根据用户输入的查询条件,提供精确的查询结果。
(4)支付服务支付服务模块用来实现订票系统和外围支付系统或服务的接口,以进行订票支付操作,以保证系统订票的安全性。
(5)关系维护关系维护模块主要负责订票系统的关系维护,保证数据的一致性,以及相联的航班和乘客信息之间的一致性。
3 设计实现(1)用户界面模块用户界面模块主要是用户与系统的交互界面,用C语言的标准输入输出实现,通过“while-switch”语句实现对不同功能的跳转。
(2)数据管理模块数据管理模块采用数组和二维字符串实现,能够有效地存储和进行订票,查询,修改和删除数据。
UML_飞机订票系统课设
《UML课程设计》报告题目:机票订票系统学号:姓名:孟瑞瑞指导老师:母丽丽日期:2015-05-281.系统概述1.1 背景当今世界,以信息技术为主要标志的科技进步日新月异,高科技成果向现实生产力的转化越来越快。
纵观全球经济发展,信息技术和信息产业已经成为经济增长的主要推动力之一,正在改变着传统的生产和经营方式以至生活方式,发达国家经过产业结构的升级和经济结构的转型已进入信息经济阶段。
信息资源已经成为国民经济和社会发展的战略资源,信息化水平也已成为现代水平和综合国力的重要标志。
党和国家已将国民经济和社会信息化放在优先发展位置,体现了先进生产力的客观要求,是一项重要的战略决策。
这是民航加快发展的机遇,更是民航信息化的难得机遇。
随着知识经济的到来,人类已经逐步进入信息化社会,信息增长的速度越来越快,人们希望利用先进的管理理论方法手段来得到并处理越来越多的信息,以提高工作效率和管理水平。
由于信息资源对人们生活的重要性,不断提高信息的收集,传输,加以利用等活动,日益成为人们社会生活的重要组成部分。
网上机票预订管理系统的产生和发展正好满足人们的这种需求。
现在将详细介绍我的课程设计——网上机票预订管理系统。
1.2 系统目标系统实现后,大大提高旅游局的机票预定服务效率。
降低售票服务中的错误发生率,减少信息交流繁琐的过程以及其带来的开销。
方便用户查询管理自己的票务信息。
1.3 系统需求规格说明1:功能需求:A:用户注册功能:该功能可以完成普通旅客注册和管理员注册任务。
B:用户信息维护功能:该功能可以完成普通旅客和管理员根据实际情况,对自己的信息进行更新操作。
C:用户功能:C1:机票查询功能:该功能为用户提供简洁的页面呈现,方便用户根据自己的需要选择自己需要的机票。
C2:机票预定功能:该功能为用户提供简洁的页面呈现,方便用户根据自己的需要预定机票。
C3:退票功能:该功能,功能为用户提供简洁的页面呈现,为用户提供退票功能。
飞机订票系统c语言课程设计
飞机订票系统 c语言课程设计一、教学目标本课程的学习目标主要包括知识目标、技能目标和情感态度价值观目标。
知识目标要求学生掌握飞机订票系统的功能、结构及其相关原理;技能目标要求学生能够运用C语言独立完成飞机订票系统的开发;情感态度价值观目标要求学生培养团队协作意识,增强对计算机编程的兴趣。
通过对课程性质、学生特点和教学要求的分析,我们将目标分解为具体的学习成果。
首先,学生需要理解飞机订票系统的业务流程,掌握C语言的基本语法和编程技巧;其次,学生能够运用所学的知识独立完成飞机订票系统的开发,提高实际操作能力;最后,学生在团队协作过程中培养沟通与协作能力,增强对计算机编程的兴趣和自信心。
二、教学内容本课程的教学内容主要包括飞机订票系统的功能介绍、C语言基础知识、飞机订票系统的模块划分和编程实现。
首先,介绍飞机订票系统的功能,包括用户注册、登录、航班查询、机票预订、支付结算等模块。
其次,讲解C语言的基本语法、数据类型、运算符、控制结构等基础知识。
接着,对飞机订票系统进行模块划分,引导学生了解各模块之间的关系和功能实现。
最后,分别针对各个模块,引导学生运用C语言进行编程实现,完成飞机订票系统的开发。
三、教学方法为了激发学生的学习兴趣和主动性,本课程将采用多种教学方法。
包括讲授法、讨论法、案例分析法和实验法等。
首先,通过讲授法向学生传授飞机订票系统的相关知识和C语言的基本语法。
其次,采用讨论法引导学生针对飞机订票系统的功能和模块划分进行深入探讨,提高团队协作能力。
然后,运用案例分析法分析实际开发过程中遇到的问题,培养学生解决问题的能力。
最后,通过实验法让学生动手实践,独立完成飞机订票系统的开发,提高实际操作能力。
四、教学资源本课程所需的教学资源包括教材、参考书、多媒体资料和实验设备。
教材方面,我们将选用《C语言程序设计》作为主教材,辅以《飞机订票系统设计与实现》等相关参考书。
多媒体资料包括教学PPT、视频教程等,以丰富教学手段,提高学生的学习兴趣。
C语言课程设计报告飞机订票系统
C语言课程设计题目:飞机订票系统专业:。
学号:。
:。
任课教师:。
C语言课程设计报告一、课程设计报告正文(1)课程设计题目的原文;假定民航机场共有n个航班:航班号、起始站、终点站、飞机号、飞机时间、乘员定额、余票量。
试设计一民航订票系统,使之能提供下列服务:航班信息录入功能(文件保存)完成航班信息浏览功能;查询航线(至少一种查询方式)。
(2)题目的分析(需求分析);任务:通过此系统可以实现如下功能:录入:可以录入航班情况(数据可以存储在一个数据文件中)浏览:航班信息浏览功能需要提供显示操作;查询:可提供按照航班号、起点站、终点站、飞行时间、查询,可以查询某个航线的情况(如,输入航班号,起飞抵达城市,确定航班是否满仓);另外要提供键盘式选择菜单以实现功能选择。
要求:根据以上功能说明,设计航班信息,订票信息的存储结构,设计程序完成功能。
可以建立航班结构体,结构体成员包括航班号、起点站、终点站、飞行时间、预售票总数、已售票数。
(3)整体设计与模块划分;根据需求分析,该程序可分为以下四大模块:(4)代码设计;包括——各功能模块的流程图;重要模块中关键部分的代码分析;关键函数的算法设计和分析等等;二、航班基本信息输入模块航班信息录入函数:航班信息浏览函数:[流程图]显示信息查询模块:分析:基本信息的查询按查询可供选择的方式比较丰富,可按航班号查询。
在查询小模块中采用了直接查找的方法。
本模块可以通过多种查询方式进行完善。
这是本程序没有做的地方。
[流程图](一)核心源程序清单和执行结果:a)源程序清单:#include<stdio.h>#include<stdlib.h>#include<io.h>#include<math.h> //标准输入、输出头文件#include<string.h> //包含字符串函数处理头文件#include<process.h> //包含access函数的头文件#define N 1000 //定义最多的航班数#define PRINT "%d\t\t%s\t\t%s\t\t星期%s\t\t%d\n ",s[i].num,s[i].start,s[i].over,s[i].time,s[i].count //宏定义输出格式struct air //定义结构体数组{int num; //定义航班号char start[20]; //航班起始站char over[20]; //终点站char time[10]; //飞行时间int count; //机票数量}s[N];int i,m=0; //定义全局变量char ii[10];void add(); //函数声明增加航班信息函数void print(); //显示航班信息void search(); //查找航班信息void read(); //读取文件void save(); //保存文件void output(); //输出格式void chushihua(); //系统初始化void build(); //建立数据文件void main() //主函数{int j;chushihua(); //系统初始化判断是否存在原始数据文件printf(" O(^_^)O欢迎使用飞机订票系统O(^_^)O \n"); //打印出系统主界面do{printf("===================================================================== =========== ");printf(" 1.增加航班信息\n"" 2.浏览航班信息\n"" 3.查找航班信息(按航班号)\t\t\n"" 0.退出\n");printf("================================================================================ ");printf("请在0-3中选择以回车键结束:");scanf("%d",&j);switch(j){case 1: add(); //调用增加航班函数break;case 2:print(); //调用显示模块break;case 3:search(); //调用查找模块break;case 0: //退出系统save();printf("使用,再见!( ^_^ )/~~ \n ");break;}}while(j!=0); //判断是否调用其他函数}void chushihua() //定义系统初始化函数{if(access("hangban.dat",0)){build();}elseread();}void build() //定义建立数据文件函数{FILE *fp; //定义文件指针if((fp=fopen("hangban.dat","wb"))==NULL) //打开文件并判定是否出错{printf("创建文件失败! "); //打印出错提示getchar();return;}printf("请依次输入航班信息(以回车键结束):\n"); //打印提示信息printf("-------------------------------------------------------------------------- \n");for(i=0;i<N;i++){printf("请输入航班号: ");scanf("%d",&s[i].num); //输入航班号printf("请输入起始站: ");scanf("%s",s[i].start); //输入起始站printf("请输入终点站: ");scanf("%s",s[i].over); //输入终点站printf("请输入时间(星期几): ");scanf("%s",s[i].time); //输入时间printf("请输入机票数: ");scanf("%d",&s[i].count); //输入机票数fwrite(&s[i],sizeof(struct air),1,fp);m++;printf("添加完毕,是否继续添加?请键入y或n以回车键结束:");scanf("%s",ii);if(strcmp(ii,"y")!=0) //判断是否继续添加航班信息{fclose(fp); //关闭文件return;}}}void read() //定义读取文件函数{FILE *fp;if((fp=fopen("hangban.dat","r"))==NULL){printf("创建文件失败! ");getchar();return;}i=0;while(!feof(fp)){fread(&s[i],sizeof(struct air),1,fp); //逐块读取数据i++;m++; //计算存在航班数}m--;fclose(fp);}void save() //定义保存函数{FILE *fp;if((fp=fopen("hangban.dat","wb"))==NULL){printf("创建文件失败! ");getchar();return;}for(i=0;i<m;i++) //逐块保存数据fwrite(&s[i],sizeof(struct air),1,fp);fclose(fp);}void add() //定义增加航班信息函数{do{printf("请依次输入您要增加的航班信息(以回车键结束): \n"); //打印提示信息printf("-------------------------------------------------------------------------- \n");printf("请输入航班号: ");scanf("%d",&s[m].num); //读取航班号printf("请输入起始站: ");scanf("%s",s[m].start); //读取起始站printf("请输入终点站: ");scanf("%s",s[m].over); //读取终点站printf("请输入时间: ");scanf("%s",s[m].time); //读取时间printf("请输入机票数: ");scanf("%d",&s[m].count); //读取机票数m++;printf("添加完毕,是否继续添加?请键入y或n以回车键结束:");scanf("%s",ii);}while(!strcmp(ii,"y")); //判断是否继续添加}void output() //定义输出格式函数{printf("航班号\t\t起始站\t\t终点站\t\t时间\t\t机票数\n"); //信息标题for(i=0;i<m;i++)printf(PRINT);//打印出信息}void print() //定义显示航班信息函数{printf("\n目前我们有如下航班:\n");output(); //调用输出格式函数printf("\n请按回车键返回上层菜单");getchar();getchar();}void search() //定义查询函数{int n;do{printf("\n请输入航班号:");scanf("%d",&n); //输入查询的航班号for(i=0;i<m;i++){if(s[i].num==n) //按航班号判定输出条件{printf("\n您所查找的航班信息为:\n ");printf("航班号\t\t起始站\t\t终点站\t\t时间\t\t机票数\n\n");printf(PRINT); //显示信息printf("\n查询完毕,按回车键继续");getchar();getchar();return;}}printf("\n对不起,没有您需要的信息!\n ");printf("是否重新查找?请键入y或n以回车键结束");scanf("%s",ii);}while(!strcmp(ii,"y"));//判定是否重新查找}1)第一次运行程序(输入初始数据)界面提示输入原始数据:请输入航班号→请输入起始站→请输入终点站→请输入飞行时间→请输入机票数。
C++课程设计报告飞机订票管理系统
青岛理工大学C++面向对象课程设计报告院(系):计算机工程学院专业:软件工程学生姓名:班级软件131班学号:题目:飞机订票管理系统设计____起迄日期:_2015。
6.29~2015。
7.10 设计地点:计算机学院机房指导教师:翟正利丁凡完成日期: 2015 年7月 10 日C++面向对象课程设计任务书题目24“飞机订票管理系统设计”1、问题描述:航空客运订票的业务包括:查询航班、客票预订和办理退票等。
试设计一个航空客运订票系统,已使上述业务可以借助计算机完成。
2.功能要求:(1)每条航线所涉及的信息有:终点站名、航班号、飞机号、星期几飞行飞行周日(星期几)、乘员定额、余票量、已订票的客户名单(包括姓名、订票量、舱位等级)以及等候补替补的客户名单(包括姓名、所需票量);(2)作为示意系统,全部数据可以只放在内存中;(3)系统能实现的操作和功能如下:录入:可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定);查询航线:根据旅客提出的终点站名输入下列信息:航班号、飞机号、星期几起飞,最近航班的日期和余票量。
承办订票业务:根据客户提出的要求(航班号、订票数额)查询该航班票额情况,若尚有余票,则为客户办理订票手续,输出座位号;若已满员或者余票数少于订票额,则需重新寻味客户要求,若需要,可登记排队候补;承办退票业务:根据客户提供的情况(日期、航班),为客户办理退票手续,然后查询该航班是否有人排队等候补,首先询问排在第一的客户,若所有退票额能满足他的要求,则为他办理订票手续否则依次询问其他排队候补的客户。
修改航班信息:当航班信息改变可以修改航班数据文件.(选作)为客户订票要求不能满足时,系统可向客户提供到达同一目的地的其他航线情况。
3、问题的解决方案:根据系统功能要求,可以将问题解决分为以下步骤:(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;(2)分析系统中的各个实体及它们之间的关系;(3)根据问题描述,设计系统的类层次;(4)完成类层次中各个类的描述;(5)完成类中各个成员函数的定义;(6)完成系统的应用模块;(7)功能调试;(8)完成系统总结报告。
飞机订票系统课程设计
飞机订票系统课程设计一、课程目标知识目标:1. 让学生掌握飞机订票系统的基本概念、功能模块及其操作流程。
2. 使学生了解数据库在飞机订票系统中的作用,学会使用SQL语句进行基本的数据查询和操作。
3. 帮助学生理解航班查询、座位选择、支付流程等关键环节的技术实现。
技能目标:1. 培养学生运用所学知识,设计并实现一个简单的飞机订票系统。
2. 提高学生分析问题、解决问题的能力,使其能够根据用户需求进行系统功能的优化和调整。
3. 培养学生团队协作、沟通表达的能力,能够就设计方案进行有效的讨论和改进。
情感态度价值观目标:1. 培养学生对计算机科学技术的兴趣和热情,提高其学习积极性。
2. 培养学生严谨、认真的学习态度,养成良好的编程习惯。
3. 引导学生关注信息技术在现实生活中的应用,认识到科技对社会发展的推动作用。
课程性质:本课程为信息技术课程,结合实际案例,教授飞机订票系统的设计与实现。
学生特点:学生具备一定的计算机操作能力和编程基础,对实际应用具有较强的兴趣。
教学要求:结合课本知识,注重实践操作,培养学生的实际操作能力和团队协作能力。
通过本课程的学习,使学生能够将所学知识应用于实际项目中,达到学以致用的目的。
在教学过程中,注重分解课程目标,确保学生能够达到预期学习成果。
二、教学内容1. 飞机订票系统概述- 了解飞机订票系统的基本概念、发展历程及应用场景。
- 分析系统的主要功能模块,如用户模块、航班模块、订单模块等。
2. 数据库基础- 学习数据库的基本概念,掌握SQL语句的使用。
- 结合飞机订票系统,设计数据库表结构,实现数据存储和查询。
3. 系统设计与实现- 分析飞机订票系统的需求,设计系统功能模块。
- 学习界面设计、业务逻辑处理及数据库操作等关键技术。
- 根据用户需求,编写程序实现航班查询、座位选择、支付流程等功能。
4. 系统测试与优化- 了解系统测试的基本方法,对飞机订票系统进行功能测试和性能测试。
数据库课程设计报告-飞机订票系统
数据库课程设计报告题目飞机订票管理系统目录第一章概述31.1工程背景31.2 编写目的31.3 开发工具444第二章需求分析52.1 问题述52.2 ER模型图5第三章数据库逻辑设计63.1 定义数据库表6数据库表6第四章软件功能设计84.1 软件功能构造图84.2软件划分模块9911151927第五章界面设计28第六章完毕语30第一章概述1.1工程背景航空业作为运输行业的根底,要提高我国运输行业的整体水平,必须从根底抓起。
订票系统是航空业从事生产和管理的基层单位,加强订票系统是航空业根底地位的关键,也是保障航空业业可持续开展的重要基石。
随着现在航空运输业的开展,机票预订系统也成为了航空运输业的软件副产品,目前的管理系统都是与数据库关联,故数据库的管理也成为很热门的研究对象。
此工程是以数据库为支撑,java〔eclipse〕为平台而开发的。
1.2 编写目的编写此工程的目的是为了进一步了解数据库的储存管理机制以及数据库与其他的语言语言工具之间关联和协作。
也可以熟悉工程开发的流程,步骤,为以后编写其他的程序打下根底。
1,了解并掌握数据构造的设计方法,具备初步的独立分析能力;2,初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等根本方法和技能3,提高综合运用所学的理论知识和方法独立分析和解决问题的能力;4,训练用系统的观点和软件开发的一般规进展软件开发,培养软件工作者所具备的的科学的工作方法和作风。
1.3 开发工具Oracle 11g,PowerDesigner,eclipseWindows7,Java,database第二章需求分析2.1 问题述设计一个飞机订票系统要求具备如下根本功能:1、班机根本信息的管理;2、航班信息的管理;3、旅客预定机票、取消预约、付款取票、退票的管理;4、查询航班信息、航班预定情况、旅客信息,计算航班满座率。
5、统计每周、每月,每年营业收入情况。
2.2 ER模型图Er模型图第三章 数据库逻辑设计3.1 定义数据库表数据库表1,flight 表...........2. Customer表Powerdesign下的物理模型构建第四章 软件功能设计4.1 软件功能构造图飞机订票系统航班信息查询 顾客信息查询订票 退票 财务查询增删改查航班信息查询信息 增加信息 删除信息 查询4.2软件划分模块对主界面进展功能选择操作,通过反响Action进入分功能操作,然后在Action模块中分别由search(),add(),delete(),update()关联到Dao包〔Dao包主要管理连接数据库的业务〕,然后根据不同的功能进入到了关联数据库的局部,通过如下局部连接数据库:1,加载JDBC驱动程序,成功加载后,会将Driver类的实例注册到DriverManager;2,提供JDBC连接的URL,连接URL定义了连接数据库时的协议,子协议,数据源标识;Connection conn=DriverManager.getConnection(url,username,password)PreparedStatement pstmt=con.prepareStatement(sql);5,执行sql语句,Statement接口提供了三种执行SQL语句的方法:executeQuery,executeUpdate,和executeResultSet rs=stmt.execute(String sql);6处理结果:执行更新返回的本次操作影响到的记录数,执行查询返回的结果是个ResultSet对象,使用结果集对象的访问方法获取数据:While(rs.next()){String name=rs.getString(“name〞);String pass=rs.getString(1);}7,关闭JDBC对象:操作完成以后要把所有使用的JDBC对象全部关闭,以释放JDBC资源,关闭顺序和声明顺序相反:首先关闭记录集,然后关闭声明,最后关闭连接对象If(rs!=null){Try{Rs.close();}catch(SQLException e){e.printStackTrace();}}然后是stmt最后是conn这样就是整个流程的进展该模块属于根本功能,其主要实现对航班的根本信息的查询,修改和删除,是通过对后台的各种操作来方便前台。
(完整word版)飞机订票系统实验报告
(完整word版)飞机订票系统实验报告实验题目:订票系统实验目的:1.了解并掌握数据结构的设计方法,具备初步的独立分析和设计能力;2.初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;3.提高综合运用所学的理论知识和方法独立分析和解决问题的能力;4.训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风。
实验要求:●任务:通过此系统可以实现如下功能:●录入:可以录入航班情况(数据可以存储在一个数据文件中,数据结构、具体数据自定)●查询:可以查询某个航线的情况(如,输入航班号,查询起降时间,起飞抵达城市,航班票价,票价折扣,确定航班是否满仓);可以输入起飞抵达城市,查询飞机航班情况;●订票:(订票情况可以存在一个数据文件中,结构自己设定)可以订票,如果该航班已经无票,可以提供相关可选择航班;●退票:可退票,退票后修改相关数据文件;客户资料有姓名,证件号,订票数量及航班情况,订单要有编号。
●修改航班信息:当航班信息改变可以修改航班数据文件实验主要步骤:航班端(一)输入航班信息,add()增加航班信息,并保存到save().(二)修改信息,在xiugai()函数里,输入要修改的航班号,选择修改的内容,如修改时间,地点并保存。
客户端(一)输入起始站和终点站,在两者都符合的条件下在search ()函数里查找,并输出航班信息。
(二)订票:用search(),判断是否有符合的航班,有则输出并进行订票,还有输入客户信息。
(三)退票:调用search(),用它的返回值判断是否有符合的航班,有则输入,并删除客户信息。
1)在主函数里先了调用chushihua(),确定有hangban.dat 文件,并让客户或航班端选择相应的模块。
2)定义订票业务函数,在这个函数中首先调用了search 函数查找需要订票的航班,用search函数的返回值判断是否有该航班。
c语言飞机订票系统课程设计
c 语言飞机订票系统课程设计一、课程目标知识目标:1. 学生理解C语言中结构体、数组、函数等基本概念,并能运用这些知识设计飞机订票系统。
2. 学生掌握C语言文件操作,实现对飞机票数据的存储和读取。
3. 学生了解C语言中字符串处理函数,并能够运用字符串操作进行信息输入和输出。
技能目标:1. 学生能够运用结构体和数组创建和管理飞机票数据,实现票务信息的增删改查功能。
2. 学生能够编写C语言程序,实现用户界面交互,包括用户登录、航班查询、购票、退票等功能。
3. 学生能够利用文件操作保存和加载飞机订票系统数据,保证数据的持久性。
情感态度价值观目标:1. 学生培养编程的兴趣,激发学习C语言的积极性,形成自主学习的习惯。
2. 学生通过合作完成课程设计,培养团队协作能力和沟通能力,增强集体荣誉感。
3. 学生了解飞机订票系统的实际应用,认识到编程知识在解决实际问题中的价值,增强学以致用的意识。
课程性质:本课程设计为实践性课程,旨在让学生将所学的C语言知识应用于实际项目中,提高编程能力和解决实际问题的能力。
学生特点:学生已具备C语言基础知识,具有一定的编程能力,但对实际项目的开发尚缺乏经验。
教学要求:教师需引导学生复习相关知识点,提供必要的技术支持,鼓励学生自主探究和团队协作,注重培养学生的实践能力和创新能力。
在教学过程中,关注学生的个体差异,给予个性化指导,确保每位学生都能在课程中取得进步。
通过课程设计,使学生将理论知识与实践相结合,提高综合运用C语言知识解决实际问题的能力。
二、教学内容1. 复习C语言基础知识:结构体、数组、函数、指针、文件操作、字符串处理函数等。
相关教材章节:第一章至第六章- 结构体与数组:理解结构体的定义和用法,掌握结构体数组的操作。
- 函数:掌握函数的定义、调用和参数传递。
- 指针:理解指针的概念和操作,掌握指针在数组、函数中的应用。
- 文件操作:掌握文件的打开、读写、关闭操作。
- 字符串处理函数:熟悉常用的字符串处理函数,如strcpy、strcat等。
C语言程序设计课程设计报告-飞机订票系统
目录一、需求分析 (4)1、程序的功能 (4)2、输入输出的要求 (6)二、概要设计 (9)三、详细设计 (11)1、数据类型 (11)2、模块分析 (12)3、函数的调用关系 (12)四、调试分析以及设计体会 (13)1、测试数据 (13)2、调试分析 (13)3、心得体会 (14)五、使用说明 (15)六、附录 (17)1、参考书目 (17)2、源程序清单(带注释) (17)七、计算机科学与技术系课程设计评分表 (40)一、设计内容与设计要求一、设计内容:飞机订票系统1.1问题描述:假设某航空公司只有M架N个座位的飞机,每架飞机每天飞行一趟。
通过该系统来实现机票的订购问题。
1.2功能要求:1)、本系统采用一个包含N个数据的结构体数组,每个数据的结构应当包括:起飞地、目的地航班号、座次号码、座次订出与否标记、订座者的姓名和订座者的身份证号码。
2)、本系统显示这样的菜单:(1)输入航班信息(2)输出航班信息(3)查找航班信息a.显示空座的数量b.显示空座的信息c.显示已订座的信息d.起飞时间(4)订票预约(5)删除定票预约(6)退出系统1、本系统成功执行菜单的每个信息,选项4)和5)将要求额外的输入,并且它们都允许用户收回其输入。
2、查找航班信息既可按线路查,也可按目的地查。
4、在两次运行之间,数据被保存于一个文件里,当本程序重新开始的时候,它首先从该文件读入数据1.3 算法提示:1、数据结构:结构体类型数组2、数据库结构:下表构成该系统的基本数据库。
1.4测试数据:每架飞机的座位N=12,M=51.5 其它:对该系统有兴趣的同学可以在实现系统基本功能后,完善系统的其它功能。
二、设计要求1).设计正确,方案合理。
2).界面友好,使用方便。
3).程序精炼,结构清晰。
4).设计报告5000字以上,含程序设计说明,用户使用说明,源程序清单及程序框图。
5).上机演示。
二、进度安排第 18 周星期一上午课题讲解查阅资料星期一下午系统需求分析模块设计星期二上午算法、数据结构设计主程序设计星期二下午各功能模块程序设计修改完善程序星期五下午各功能模块程序设计修改完善程序第 19 周时间待定星期五下午答辩一、需求分析1.1 系统功能需求1.1.1程序的功能1.系统管理员功能:1)录入和修改航班和机票的信息:输入航班号,输入起飞港,途径港,到达港,录入起飞时间,到达时间,飞行总共用时,可随时修改航班信息2)输出航班的信息:输入航班号便可输出之前输入的航班信息2.客户需要的功能:1)查找航班信息:a.显示空座的数量b.显示空座的信息c.显示已订座的信息d.起飞时间2)订票预约:查询航班信息后,提前订票预约需要的飞机票,3)删除定票预约4)退出系统1.1.2 主要模块流程图1.1.3 功能描述1.1.4各功能模块的功能描述(1)显示菜单函数:FLIGHT fltlist[5]; PASSENGER psglist[5][12]; ReadFlight(fltlist);PASSENGER* k;k=(PASSENGER*) psglist; ReadPassenger(k);用户可以根据菜单提示,选择相关菜单。
飞机订票系统课程设计报告
飞机订票系统课程设计报告指导老师:班级:学生姓名:学号:完成日期:计算机科学与技术系飞机订票系统课程设计报告一、系统分析。
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 72.3主要数据结构和程序的关系说明主要数据结构是结构体struct hbxx //定义结构体数组,航班信息{int hbh; //定义航班号char qd[20]; //起点站char zd[20]; //终点站float pj; //票价int sl; //机票数量int dcp; //订票标志量}fj[N];2.4界面设计本程序开始运行的界面,共7个选项,简洁而大方。
飞机订票系统设计报告
算法与数据结构程序设计题目:飞机订票系统学院:计算机科学与过程学院专业:信息安全姓名:学号:指导教师:***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 在他的《数据结构、算法与应用》一书中称:“数据结构是数据对象,以及存在于该对象的实例和组成实例的元素之间的各种联系。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《数据结构》课程设计报告一、订票系统【需求分析】本订票系统要能够实现航班情况的录入功能、航班的查询功能、订票功能、退票功能以及管理本系统的功能即能够修改航班信息。
具体分析如下:1、录入功能可以录入航班信息,如录入航班号,到达城市,起飞时间,飞机票数,票价。
2、查询功能可以查询航班的各项信息,如可以查询起降时间,起飞抵达城市,航班票价,确定航班是否满仓,航班号。
3、订票功能可以订票并且记录下乘客的相关信息如记录下乘客姓名,身份证号码,所订航班的航班号以及所订的票数。
4、退票功能可以退票并且记录乘客的相关信息以及退票信息。
5、修改功能可以根据需要由管理员对航班信息进行修改更正。
【概要设计】1、算法设计:每个模块的算法设计说明如下:(1)录入模块:查找单链表的链尾,在链尾插入一个“航班信息”的新结点。
(2)查询模块:提供两种查方式:按航号和按航线查询,1代表按航号查询,2代表按航线查询。
0则表示退出查询。
顺着单链表查找,如果与航班号(航线)一致,输出相关信息,否则,查询不成功。
(3)订票模块:查找乘客要订的航班号,判断此航班是否有空位,有则输入乘客有关信息,订票成功,否则失败。
(4)退票模块:输入要退票的乘客姓名以及证件号码,查找乘客资料的链表中是否有这位乘客,有则删去此结点,并在空位加上1,无则退票失败。
(5)修改模块:输入密码,确认是否有权限对航班信息进行修改,有则在航班信息链表中查找要修改的结点,进行修改,否则不能修改。
2.存储结构设计:(1)航班的信息:为了便于查找和修改,航班的情况存储结构采用单链表,每个元素表示一个航班的情况,包括航班号、起飞达到的时间、空座和目的的、票价以及限座七个数据项:每个结点包括数据域和指针域:C语言描述如下:typedef struct flightnode{char air_num[10]; /*航班号*/char start_time[15]; /*起飞时间*/char end_time[15]; /*到达时间*/char end_place[30]; /*目的地*/int total; /*限座*/int left; /*空座*/int price; /*票价*/struct flightnode *next; /*指向个结点*/}flightnode;(2)旅客的资料:为了便于插入、删除和修改,其采用单链表存储结构,每个数据元素包括姓名、证件号码、航班号和座位号四个数据项:每个结点包括数据域和指针域:C语言描述如下:typedef struct passengernode{ /*定义乘客资料结点*/ char name[20];char ID_num[20];char air_num[20];int seat_num;struct passengernode *next;}passengernode;【详细设计】本系统源程序如下:#include<stdio.h>#include<stdlib.h>#define OK 1#define ERROR 0typedef struct flightnode{ /*定义航班信息结点*/ char air_num[10];char start_time[15];char end_time[15];char end_place[30];int total;int left;int price;struct flightnode *next;}flightnode;typedef struct passengernode{ /*定义乘客资料结点*/ char name[20];char ID_num[20];char air_num[20];int seat_num;struct passengernode *next;}passengernode;flightnode *head_flight(); /*生成航班信息的头结点*/ passengernode *head_passenger(); /*生成乘客资料的头结点*/int CreatFlight(flightnode **l); /*生成航班信息链表*/ int CreatPassenger(passengernode **l); /*生成乘客资料链表*/int InsertFlight(flightnode **p,char *air_num,char *start_time,char *end_place,int total,int left,int price); /*插入航班信息的结点*/int InsertPassenger(passengernode **p,char *name,char *ID_num,char *air_num,int seat_num); /*插入乘客资料的结点*/flightnode *modefy_airline(flightnode *l,char *air_num); /*修改航班信息的函数*/int BookTicket(flightnode*a,char *air_num,passengernode *c,char *name,char *ID_num); /*订票函数*/int CancelTicket(passengernode *c,flightnode*l,char *name,char *ID_num); /*退票函数*/int SearchFlight(flightnode*head); /*查询航班信息函数*/int SearchPassenger(passengernode *head); /*查询乘客信息函数*/void main() /*主函数*/{int p=2; /*p==1时进入主菜单,p==0时退出系统*/ passengernode *cus=head_passenger();flightnode *air=head_flight();char name[20],air_num[20],ID_num[30],mima[20],ch; char t[20]="zhengjianze"; /*管理员密码*/clrscr();CreatFlight(&air);CreatPassenger(&cus);while(p==2){printf("\n welcome to the airline system!\n\n please choose the serves below and press the number:\n\n");printf("========================================== ======================\n\n");printf(" 1 -> Book Ticket \n");printf(" 2 -> Cancel Ticket \n");printf(" 3 -> Search Information \n");printf(" 4 -> Exit \n\n"); printf("========================================== ======================\n");switch(ch=getch()){case '1':{printf("\n *-------------Booking Ticket-------------*\n"); /*进入订票功能*/printf("Please input a airline number and press enter for OK:");scanf("%s",air_num);printf("Please input your name and press enter for OK:");scanf("%s",name);printf("Please input your ID number and press enter for OK:");scanf("%s",ID_num);BookTicket(air,air_num,cus,name,ID_num);getch();} ;break;case '2':{printf(" *-----------------------Canceling Ticket--------------------*\n"); /*进入退票功能*/printf("Please input the cancel name for booking ticket:");scanf("%s",name);printf("Please input the ID for booking ticket:");scanf("%s",ID_num);CancelTicket(cus,air,name,ID_num);};break;case '3':{printf("*---------------Search Information---------------------*\n"); /*进入信息查询功能*/ printf(" 1 -> flight information \n" );printf(" 2 -> passenger information\n ");printf(" other -> exit \n");printf("*------------------------------------------------------*\n");if((ch=getch())=='1') /*航班信息查询*/{printf("*------------------ flight information -----------------*\n");SearchFlight(air);}else if(ch=='2'){ /*乘客资料查询*/printf("\n please input the key:");scanf("%s",mima); /*输入管理员密码*/if(strcmp(mima,t)==0){printf("\n*---------------passenger information ---------------*\n\n");SearchPassenger(cus);}else printf("sorry,the key is wrong");getch();}}break;case '4':{getch(); /*退出系统*/p=0;}break;}}}flightnode *head_flight(){flightnode *a;a=(flightnode *)malloc(sizeof(flightnode));if(a==NULL)a->next=NULL;return a;}passengernode *head_passenger(){passengernode *c;c=(passengernode*)malloc(sizeof(passengernode)); if(c==NULL)c->next=NULL;return c;}int CreatFlight(flightnode **l){flightnode *p=*l;int i=0;char *air_num[3]={"flight01","flight02","flight03"};char *start_time[3]={" 08:00"," 12:00"," 16:30"};char*end_place[3]={"Guangzhou","Shenzhen","Shantou"}; /*初始化航班信息*/int total[3]={100,100,100};int price[3]={300,200,250};int left[3]={23,54,76};for(i=0;i<3;i++)InsertFlight(&p,air_num[i],start_time[i],end_place[i],tot al[i],left[i],price[i]); /*插入航班信息*/return OK;}int CreatPassenger(passengernode **l){passengernode *p=*l;int i=0;char *name[3]={"liming","Ximing","Chongliang"};char*ID_num[3]={"3105006052","3105006054","3105006051"}; /*初始化乘客资料*/char *air_num[3]={"flight01","flight02","flight03"};int seat_num[3]={12,5,8};for(i=0;i<3;i++)InsertPassenger(&p,name[i],ID_num[i],air_num[i],seat _num[i]); /*插入乘客资料*/return OK;}int InsertFlight(flightnode **p,char *air_num,char *start_time,char *end_place,int total,int left,int price) {flightnode *q;q=(flightnode*)malloc(sizeof(flightnode));strcpy(q->air_num,air_num);strcpy(q->start_time,start_time);strcpy(q->end_place,end_place);q->total=total;q->left=left;q->price=price;q->next=NULL;(*p)->next=q;(*p)=(*p)->next; /*航班信息链的尾插法*/return OK;}int InsertPassenger(passengernode **p,char *name,char *ID_num,char *air_num,int seat_num) {passengernode *q;q=(passengernode*)malloc(sizeof(passengernode)); strcpy(q->name,name);strcpy(q->ID_num,ID_num);strcpy(q->air_num,air_num);q->seat_num=seat_num;q->next=NULL;(*p)->next=q;(*p)=(*p)->next; /*乘客资料链表的尾插法*/return OK;}flightnode *modefy_airline(flightnode *l,char *air_num){flightnode *p;p=l->next;for(;p!=NULL;p=p->next){if(strcmp(air_num,p->air_num)==0){p->left++;return l;}printf("NO the airline!");return 0;}}int BookTicket(flightnode *a,char *air_num,passengernode *c,char *name,char *ID_num){flightnode *p=a;passengernode *q=c->next;p=a->next;for(;q->next!=NULL;q=q->next);for(;p!=NULL;p=p->next){if(strcmp(p->air_num,air_num)==0){if(p->left>0){printf(" \nSuccessful for Booking ticket.\n\n Your flight: %s\n Your seat number : %d ",p->air_num,(p->total-p->left+1));printf("\n*-----------------------------------------*");InsertPassenger(&q,name,ID_num,air_num,p->total-p->left+1);p->left--; return OK;}else{printf("seat is full");return 0;}}/*if(strcmp)*/ }printf("Sorry,there isn't the plane,please check the airline number!");printf("\n *-----------------------------------------*");}int CancelTicket(passengernode *c,flightnode *l,char *name,char *ID_num){passengernode *p,*pr;char air_num[20];pr=c;p=pr->next;while(p!=NULL)if(strcmp(p->name,name)==0&&strcmp(p->ID_num,I D_num)==0){strcpy(air_num,p->air_num);l=modefy_airline(l,air_num);pr->next=p->next;p=pr->next;printf("successful for canceling ticket.");printf("\n*-----------------------------------------------------------------*"); return OK;}pr=pr->next;p=pr->next;}printf("Sorry,there isn't the customer!");printf("\n*--------------------------------------------------------*");return ERROR;}int SearchFlight(flightnode *head){flightnode *p=head->next;printf(" Flight Start_time Arrival_place Price Total Left_seat\n\n");for(;p!=NULL;p=p->next){printf(" %s %-10s %-9s %-7d%-6d %-6d\n",p->ai r_num,p->start_time,p->end_place,p->price,p->total, p->left);printf("\n");}printf("*----------------------------------------------------------*\n\n"); return OK;}int SearchPassenger(passengernode *head) {struct passengernode *q=head->next;printf(" Name ID Flight Seat_number\n\n");for(;q!=NULL;q=q->next){printf("%-12s %-8s %-5s %d\n",q->name,q->ID_nu m,q->air_num,q->seat_num);printf("\n");}printf("\n *----------------------------------------------------------*"); return OK;}【调试分析】1、调试结果:(1)系统主菜单界面:(2)进入订票的界面:(3)查询信息的界面:选择1,查询航班信息的界面:选择2,输入密码,查询乘客的信息的界面:新增乘客,查询乘客信息:密码错误时:(4)进入退票的界面:名字或者证件错误时:2、时间复杂度分析:本程序运行所耗费的时间主要在于循环语句,for和while 语句,其时间复杂度应该为O(n)。