课程设计(旅游管理系统 和B-树的实现)

合集下载

研学旅行课程设计报告报告

研学旅行课程设计报告报告

济渎路学校“弘扬新愚公精神争做新时代少年”研学旅行课程设计一、课程背景根据《济源市研学旅行管理办法》、《济源市中学校研学旅行课程方案》和《济渎路学校研学旅行课程方案》,认真落实立德树人的育人目标,以培养学生的综合实践能力和创新能力为核心。

为推进我校研学旅行工作的扎实、有效开展。

本着让让学生们游览、考察王屋山,开拓学生视野,探索地质地貌,欣赏奇石之美,感受自然的神奇。

让学生们亲近大自然,融入山水之中,放松在校园里的紧情绪,达到学生知行合一的目的特制定本次研学旅行活动实施方案。

二、课程设计思路本课程利用济源是愚公移山故事的发源地这一优势,结合境丰富的文化资源而设计。

目的在于弘扬“愚公移山敢为人先”新时代愚公精神,继承弘扬优秀传统文化。

三、研学线路道境广场--阳台宫--中华愚公村--愚公群雕像--银杏树不老泉--王屋山地质博物馆四、适用学段小学学段五、课程主题弘扬新愚公精神争做新时代少年六、课时安排07:30 济渎路学校指定地点集合,乘车出发赴道境广场(车程约60分钟)08:30 参观道境广场(约60分钟)09:30 参观阳台宫(约90分钟)11:00参观中华愚公村、愚公移山群雕(约60分钟)12:00中餐及休息时间(约60分钟)13:00带领学生徒步至银杏树、不老泉(约60分钟)14:00参观银杏树、不老泉(约30分钟)14:30参观地质博物馆;(约90分钟)16:00 银杏树广场做活动(约60分钟)17:00 集合返程;18:00抵达济渎路学校,结束行程!七、课程目标(一)知识目标:让学生通过研学活动,感悟愚公移山精神和中国优秀传统文化的魅力。

(二)能力目标:让学生学会通过调查、收集、整理、研讨交流等方式收集信息,培养学生发现问题、分析问题、解决问题的能力。

(三)情感目标:通过活动冶学生情操,增强学生爱家乡的情感。

(四)核心素养:通过课程的实施,培养学生具有问题解决能力,勇于承担社会责任,和实践创新能力等跨学科素养。

旅游景区自动票务系统设计方案

旅游景区自动票务系统设计方案

旅游景区自动票务系统设计方案第一章:项目背景一个旅游景区的面积大约有3000——5000亩大小,景区有东、西、南、北4个门,数据中心位于南门旁。

游客购买门票可以使用刷卡、网购或者现金,购买后,门票打印机自动打印带有条码的卡片门票,游客通过景区门口的翼闸读票即可通过。

每个门口2个翼闸,两台PC,景区内部通过有线快速以太网连接。

服务器放置于数据中心(不考虑后台软件系统费用)。

需要购置服务器若干台,交换机如干台,PC若干台,(“若干台”者需要论证具体需要几台)。

翼闸8台,门票打印机8台。

第二章:项目分析2.1 需求分析某旅游景区刚刚建成,是一大型3000亩旅游景区,为了实现景区的自动化售票系统,旅游景区客流量大,一般景区年客流量大约在30-120万人次,门票方式将是非常重要的考虑因素,需要建立自己企业的Intranet。

景区有东、西、南、北4个门,数据中心位于南门旁。

游客购买门票可以使用刷卡、网购或者现金,购买后,门票打印机自动打印带有条码的卡片门票,游客通过景区门口的翼闸读票即可通过。

系统需要实现的目标如下:(1)现有效的数据交换和共享。

企业通过两条专线接入电信和网通。

(2)景点实现售票自动化,可通过刷卡,网购或现金交易。

(3)景点对外提供网站购票,并且能够保证网站安全,不受外部或者内部攻击。

(4)购买后,门票打印机自动打印带有条码的卡片门票,游客通过景区门口的翼闸读票即可通过。

(5)服务器放置于数据中心。

需要购置服务器若干台,交换机如干台,PC若干台,翼闸8台,门票打印机8台。

(6)充分考虑后续网络的接入扩展性。

(7)充分考虑数据中心内部网络的安全性。

2.2 网络设计原则我们遵循以下的原则进行网络设计:●实用性实用性是网络系统建设的首要原则,该网络必须最大限度的满足需求,保证网络服务的质量,否则就会影响日常工作效率。

●标准化整个网络从设计、技术和设备的选择,要确保将来可能的不同厂家设备、不同应用、不同协议连接的需求,必须支持国际标准的网络接口和协议,以提供高度的开放性。

旅游管理信息系统概述

旅游管理信息系统概述

第一章、旅游管理信息系统概述管理和信息旅游管理信息系统的特点与功能管理信息系统的发展阶段旅游管理信息系统的发展管理是人们有目的、有意识的实践活动,是管理者在一定的社会条件下,为了实现预定目标,对各种资源和实践环节进行规划安排,优化控制活动的总称。

数据是人们用来反映客观世界而记录下来的可以鉴别的物理符号,或者说数据是用各种可以鉴别的物理符号记录下来的客观事实。

数据经过处理仍然是数据。

只有经过解释,数据才有意义,才成为信息。

资料:一串原始数据代表组织中或周围所发生事件的记录。

例如:商业交易。

信息:一串已被整理成对使用者而言是有意义且有用的格式。

衡量信息多少的物理量称为信息量。

信息量的大小与消息所描述事件的出现概率有关。

信息量的单位是比特。

一比特的信息量是指含有两个独立均等概率状态的事件所具有的不确定性能被全部消除所需要的信息。

信息量满足相加性的条件如果收到的不是一个而是若干个互相独立的消息,则总的信息量应该是每个消息的信息量之和。

系统是由处于一定的环境中相互联系和相互作用的、若干组成部分结合而成的,为达到整体目的而存在的集合。

系统的一般特征:集合性;关联性;目的性;边界性;整体性;层次性。

系统的分类:自然、人造、复合学习高等院校招生信息管理系统学籍管理信息系统毕业生就业信息管理系统生活银行个人帐户管理系统食堂就餐信息管理系统电信业务管理信息系统娱乐数字节目管理系统工作人事管理信息系统、财务工资管理信息系统管理信息系统是一个人造系统,它由人、硬件、软件和数据资源组成,目的是及时、正确地收集、加工、存储、传递和提供信息,实现组织中各项活动(物流、资金流、事务流、信息流) 的管理、调节和控制。

概念结构层次结构策略管理者:负责公司产品与服务长远的策略规划战术管理者:负责执行策略管理者的计划作业管理者:负责监控公司的日常运作功能结构市场子系统、财务、人事、生产、供运在子系统下面根据具体情况有可以分若干个子系统信息系统的类型事务处理系统:自动地处理有关业务活动或事务的数据。

最新计算机网络专业毕业设计题目汇总

最新计算机网络专业毕业设计题目汇总
71
粒子群优化算法的MATLAB实现
72
《管理信息系统》课程网站设计
73
小型电子商务网站规划
74
现代物流系统的分析与设计
75
中国智能交通系统研究现状分析
76
空中交通流量管理系统的分析与设计
77
粒子群优化算法的典型应用
78
空中交通流量管理中的地面等待策略模型与算法设计
79
图书馆资料管理系统的设计与实现
11、
计算机网络安全及防火墙技术
12、
网络攻击的行为分析
13、
Internet防火墙系统的设计
14、
路由器原理及在TCP/IP网络中的应用
15、
无线通讯技术热点及发展趋势
16、
无线互联网接入的优点和方式的实现
17、
校园局域网的组建与维护
18、
中小企业局域网组建和管理的实现
19、
论现代教育技术中的网络应用
9
主机内容过滤系统的开发与设计
10
基于Socket的网络聊天系统开发与设计
11
基于BREW的移动终端软件开发技术分析与实现
12
局域网的组建与应用
13
无线局域网的组建与应用
14
虚拟局域网的组建与应用
15
磁盘阵列的安装、设置、技巧
16
Windows Vista应用体会
17
Windows 2003 Server操作系统探讨
167
基于J2EE技术实现医务管理系统
168
基于J2EE技术实现人事工资管理系统
169
Web-GIS应用开发
170
Web服务应用研究与设计
171

旅游信息管理系统考题及答案

旅游信息管理系统考题及答案
A、决策层、战略性、管理层、战术性、操作层、日常性6个方面。
B、决策层、管理层、操作层3个层次。
C、决策层、管理层、战术层、操作层4个层次。
D、决策层、战略层、管理层、战术层、操作层5个层次。
8. ( )国家正式启动“金旅工程”,将实现政府旅游管理电子化和利用网络技术发展旅游电子商务,以最大限度整合国内外旅游信息资源,力争在三至五年内,建设和完善政府系统办公自动化网络和面向旅游市场的电子商务系统。
B、以人为主导,利用网络通信设备以及其他办公设备,进行信息收集、传输、模拟、处理、检索、分析和表达,以企业战略竞争、提高效益和效率为目的,并能为企业进行决策、控制、运作的人机系统。
C、以本身系统为主导,利用计算机硬件、软件、网络通信设备以及其他办公设备,进行信息收集、传输、模拟、处理、检索、分析和表达,以企业战略竞争、提高效益和效率为目的,并能为企业进行决策、控制、运作的人机系统。。
信息化已经在国外旅游业的各个方面得到广泛应用,如DIS(目的地信息系统)、PMS(饭店管理系统)、CRS(计算机预订系统)、POS(销售现场信息系统)和BRS(银行结算系统)、航空公司的电脑订票网络系统、旅游企业办公自动化系统等。在国际市场的促销方面,不少旅游企业开始注意应用现代信息技术,如CD-ROM光盘、多媒体技术和Internet等。一批国内旅游企业网站出现,如中国旅游网()、黄山旅游网(http:// )等。2001年1月11日国家正式启动“金旅工程”,将实现政府旅游管理电子化和利用网络技术发展旅游电子商务,以最大限度整合国内外旅游信息资源,力争在三至五年内,建设和完善政府系统办公自动化网络和面向旅游市场的电子商务系统。
D、可分成五大部件组成,即信息源、信息处理器、信息用户、计算机和信息管理者。

旅游管理系统论文

旅游管理系统论文

摘要随着旅游行业的不断发展,各家旅游行业之间的竞争日益激烈,旅游部门所需的信息量越来越大,业务操作中涉及的各种线路情况、客户情况以及旅游协作部门的情况越来越复杂多变。

而除了一些个别地区已采用了的旅游网站,一般通常是以原始的手工方式处理/交流信息。

但是工作人员若仅靠手工方式处理大量资料,很可能带来出错率的增长以及大量资源的浪费和闲置等问题。

因此,只有加强对旅游信息资源的整合、统一管理,才能使旅游部门运行更加合理、高效地运转。

本文是根据旅游行业的这种现状,提出解决问题的一个可行性方法:采用现代化统一的计算机网络系统,实现了旅游管理的网络化,各类信息有序地进行存储,同时采用了权限认证的方式,只有经过了系统权限认证之后,方可进入系统主控界面,进行信息管理,信息查询,在线预定,留言簿等功能的使用。

实现了各种业务系统的数据集成和信息集成,对旅行社各类信息、资源进行协同集中管理。

利用ASP技术建立动态网站,实现旅游信息快速发布及接受游客的网上预定。

关键词:旅游信息;网络化;动态网站AbstractWith the steady growth of tourism industry, travel departments are now facing tougher competition between each other. Various information at each stage of the process are coming up, such as accounts payment status, client request and feedback from contracting parties, and so on. And the information volume is ever growing and becoming more sophisticated. Most departments usually handle these information manually leaves big room for omission and errors, and quite a part of resources might not be utilized efficiently. Therefore, a computerized system shall be developed to better integrate the information and utilize the resources a company equips.This system is all about such a Tourism Web. Information of all kinds are stored automatically in a orderly way, and users go through an recognition procedure, those approved user enter into the main board to look up/query info, also to make reservation online, leave message etc. Tourism Web made it possible to integrate and utilize various tourism information/ data to better use the resources of travel agency. Furthermore, tourism information can be known quickly and tourists can book through the internet by using ASP to establish a Tourism web.Keywords: information of tourism; network; Tourism Web目录第1章绪论 (2)1.1 研究背景 (2)1.2 研究现状 (2)1.3 研究的内容和目标 (10)第2章需求分析 (15)2.1 系统需求分析 (15)2.2 系统功能结构图 (16)2.3 系统开发工具 (17)第3章系统数据库设计 (19)3.1 数据库概念结构设计 (19)3.2 数据库物理结构设计 (19)第4章系统详细设计 (21)第5章结束语 (24)谢辞 (25)参考文献 (26)第1章绪论1.1 研究背景旅游是人们为寻求精神上的愉快感受而进行的非定居性旅行和在游览过程中所发生的一切关系和现象的总和。

基于WebGIS的徐州市旅游资源信息系统设计与实现

基于WebGIS的徐州市旅游资源信息系统设计与实现
信 息 产f ff 业
科 黑江— 技信总 — 龙— —
基于WeGS 徐州市旅游资 b I的 源信息系统 设计与实现
陈 强 周 荣 福
( 中国矿 业大 学地球 信 息科 学研 究所 , 苏 徐 州 2 11 ) 江 2 16
摘 要: bI W。G S的发展为旅游信 息化提供 了良好的手段。本文介绍 了WeGS的相关技 术, bI 并在此基础上提 出了基于 WeGS的徐9 市旅游资源信 bI 。 I . 1 息 系统 的设 计方 案 , 绍 了系统 开发 流程 和 功能 实现 。 介 关键 词 : b S A c ; 州市 ; 游 资源信 息 系统 WeGI; rI MS 徐 旅 1 概述 游服务设施等的属性 随 着社会经济的发展和人 们生活水平的提高旅 信息以 及公交、 列车、 圆 游业已 经成为我国国民 经济的 重要 增长 点。 作为—种 航班信息等都存储在 信息 密集型 产业旅游 息的收集、 传递基础上其中包括旅游景点和服务 整理、 设施的分布等空间地理信息。 地理信包 系统 I 控 间数据的处理见长提巅0 息 游信 管理 的有利工具。旅 游 信息的传播是影响旅游业发展的关键因素而 网络已经 成为人们获取信息的重要途径。WeGS是 G S bI I 与 I e e相结合的 nm t t 产物, 为旅游信息 化提供了良好的 手 段。徐州市作为国家历史文化名城以两汉文化著称拥 有丰富的人文和自 然旅游资源。建立基于WeGS b I的 徐州莉旅游资源信息系统将促进徐州旅游信息的传皤 和旅旃业的发展。



《a_ n *t 懈
件用 于创作 、 、 设计 发布和管理 It t ne 地图制图的 me WeGS b I 应用系统。A c 运行在—个分布式的环境 rI MS 中庙客户端和服务器端的部件组成。客户端浏览器发 送 Ac ML r x 请求到应用程序服务器应用程序服务器将 该— 请求重定向到相应的 AcM 空间服务器最 后将空 rI S 间服务器的响应返回到浏览器

研学旅行课程设计智慧树知到答案章节测试2023年青岛酒店管理职业技术学院

研学旅行课程设计智慧树知到答案章节测试2023年青岛酒店管理职业技术学院

第一章测试1.《中小学生赴境外研学旅行活动指南(试行)》,指出境外研学旅行的教育教学内容和学习时长所占比例一般不少于在境外全部行程计划的()。

A:1/3B:1/4C:1/2D:1/5答案:B2.()提出了读万卷书,行万里路,二者不可偏废A:徐霞客B:钱泳C:陶行知D:孔子答案:B3.2021年7月中共中央办公厅、国务院办公厅印发的()对研学产业发展带来重大利好。

A:《关于进一步做好中小学生研学旅行试点工作的通知》B:《关于进一步减轻义务教育阶段学生作业负担和校外培训负担的意见》C:《国家中长期教育改革和发展规划纲要》D:《关于利用博物馆资源开展中小学教育教学的意见》答案:B4.()年教育部增补“研学旅行管理与服务”专业,归属旅游大类中的旅游类,修业年限3年。

A:2019年B:2020年C:2021年D:2018年答案:A5.2006年,山东曲阜举办了(),这是我国第一个修学旅行节庆活动,也是中国第一个以儒家文化为主题的修学节庆活动。

A:孔子文化节B:孔子研学旅行节C:孔子读书节D:孔子修学旅行节答案:D第二章测试1.研学课程活动设计前,只需要对研学需求进行简单、泛化的调研。

()A:对答案:B2.一份完整的访谈提纲可以包含下列哪些内容()A:相关的心理需求B:现有产品使用评价与使用习惯C:现有产品使用环境D:用户背景答案:ABCD3.问卷是为了得到一些定量的分析结果,因此在问卷制作时,应该一开始就着手想问卷的问题如何设计。

()A:错B:对答案:A4.“你愿意购买我们的海洋研学课程嘛?”是研学产品前期问卷调研中的好问题。

()A:对B:错答案:B5.价值主张是研学活动组织方为研学者提供的利益集合,具体包括:()A:让研学者得到哪些好处?B:解决了研学者的哪些难题?C:为特定的研学群体体提供哪些研学产品和服务?D:为研学者提供什么实践教学价值?答案:ABCD第三章测试1.《礼记·中庸》中提到“凡事预(豫)则立,不预(豫)则废”,这表明()在课程设计中具有重要作用。

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

课程设计--------数据结构课程设计报告学号:1016020203姓名:张灿指导教师:曹春萍专业:计算机完成日期:2012.06.25目录A篇:旅游信息管理系统一、题目要求1、题目内容----------------------------------1二、程序设计目标1、题目分析----------------------------------12、功能简介----------------------------------23、数据结构----------------------------------2三、概要简述1、功能结构图---------------------------------32、模块分析-----------------------------------3四、详细设计1、结构体定义----------------------------32、程序流程图---------------------------5五、源程序代码1、源程序c++实现代码-------------------------6六、调试分析及测试结果1、运行结果截------------------------------14七、附录1、补充说明--------------------------------19八、程序小结1、报告总结———————————————19B篇:B-树手工题一、题目要求1、题目内容-----------------------------------20二、运行过程1、从空树插入---------------------------------202、插入完成-----------------------------------253、依次删除要求点-----------------------------264、最终结果-----------------------------------28C篇:附加题一、题目1、题目内容—————————————————29二、程序设计目标1、功能简介—————————————————292、数据结构—————————————————29三、设计思路1、结构体定义————————————————292、功能结构图———————————————303、程序流程图———————————————30四、实现代码1、程序代码————————————————32五、程序调试以及运行结果1、调试结果及截图—————————————43六、报告总结1、报告总结————————————————44A篇:旅游信息管理系统一、题目要求1、题目内容旅游信息管理系统1)数据结构(1)、二叉排序树加单链表(2)、二叉排序树说明:1、用二叉排序树表示旅游地点,用单链表表示游客。

2、用二叉排序树表示旅游地点和游客。

2)、功能(1)、旅游地点的插入(2)、游客报名(3)、当某地的旅游人数少于三个人时,取消次旅游地,建议游客该选其他旅游点(4)、当某旅游地旅游人数等于六个时,不允许在报名。

建议游客改选其它旅游地。

二、程序设计目标1、题目分析读题可知,需完成两方面的编程以对旅游系统进行操作。

一方面是旅游公司管理人员,主要是旅游景点的添加与删除,对旅游人员的录入与删除,对旅游人数的统计,把游客所需信息打印等等;第二方面是游客对于旅游地的选、改、删,以及个人信息的输入、确认等等。

2、功能简介由以上分析可得:本设计程序功能主要有:①、旅游公司管理人员对旅游人员和旅游地点的操作,用二叉排序树管理旅游地点。

主要有地点的变更,插入、删除、游客的信息存储及及时提醒等功能。

其中二叉树每一个结点包括旅游地点的区号(area_node)、名称(area)、该旅游地的游客人数(count)、以及一个指向游客信息结构的指针(list),还有二叉树结点的左孩子和右孩子指针(lchild,rchild)。

②、游客可以登陆旅游公司界面进行报名、选择旅游地点和输入个人信息。

游客结构采用单链表,其中包括单链表的初始化、插入、删除、计数功能。

其中每一个单链表结点包括游客的编号(id)、姓名(name)、性别(sex)、和链接链表的指针(next)。

3、数据结构用到的数据结构有:单链表,排序二叉树,数组。

三、概要简述1、功能结构图主 菜 单程序员 游客2、模块分析本程序包括三个模块:主程序模块、二叉排序树模块、单链表模块,工作区选择模块。

如图:二叉排序树模块 主程序模块 单链表模块四、详细设计 1、结构体定义工作去选择模块插入 删除 插入遍历遍历二叉树 单链表1)、链表结点结构体typedef struct tourist{string name;int id;string sex;struct tourist *next;}Trist,*linklist;左孩子区号地名游客数右孩子指向链表的指针2)、二叉排序树结点结构体typedef struct Tree_Place{int area_code; //旅游地区号string area; //旅游地名称int count; //记录该旅游地报名游客人数struct Tree_Place *lchild,*rchild;Trist *list; //指向游客所在单链表的指针}Place,*TPlace;左孩子区号地名游客数右孩子指向链表的指针2、程序流程图主 菜 单(1、程序员,2、游客)1输入密码 错误正确 (12345) 2程序管理员 游 客输入成功退/输 Y NN Y输入地点查询各地游客数输入旅游地区号 退出显示少于3人地修改旅游地点查询可报名地 显示所有旅游地重复 提醒 打印 退出删除提醒可报地 打印个人信息超额 输入信息 可报退出 报名成功退出删除五、源程序代码1、源程序c++实现代码#include<iostream>#include<stdlib.h>#include<string>#include<iomanip>using namespace std;#define MAX 50#define SIZE 12typedef struct tourist{char name[SIZE];int id;char sex[5];struct tourist *next;}Trist,*linklist;typedef struct Tree_Place{int code; //旅游地区号char area[SIZE]; //旅游地名称int count; //记录该旅游地报名游客人数struct Tree_Place *lchild,*rchild;Trist *list; //指向游客所在单链表的指针}Place,*TPlace;void Search_T(TPlace &tree,int co);void Mainlist(TPlace &tree);void Tour_1(TPlace &tree);void Tour_2(TPlace &tree);void Destory(TPlace &tree);void Init_L(linklist &head){head=NULL;}void Insert_L (TPlace &tree,TPlace &t,linklist &head){linklist tr;char c;int i=1,co,id;while(t->count<6&&i==1){cout<<"请输入你的身份证号:"<<endl;cin>>id;tr=(linklist)malloc(sizeof(Trist));tr->id =id;cout<<"输入姓名,性别:"<<endl;cin>>tr->name>>tr->sex;tr->next=head;head=tr;t->count++;cout<<"继续报名请按1,按0退出!"<<endl;cin>>i;}if(t->count>=6){cout<<"此旅游地人数已满,按'y'选择其他旅游地,其他键退出!"<<endl;cin>>c;if(c=='y'||c=='Y'){ cout<<"请重新输入区号"<<endl;cin>>co;Search_T(tree,co);}}else Tour_2(tree);}void Delet_L (linklist &head){linklist p,pro;pro=head;while(pro){p=pro ;pro=p->next ;free(p);}}void Insert_T(TPlace &tree,TPlace p){ //在二叉排序树中插入一个新结点if (tree==NULL) tree=p;else if(p->code<tree->code) Insert_T(tree->lchild,p);else if(p->code>tree->code) Insert_T(tree->rchild,p);}void Search_T(TPlace &tree,int co){char c;TPlace p;int code;p=tree;while(p&&p->code!=co ){if(p->code>co)p=p->lchild ;else p=p->rchild ;}if(!p){ cout<<"此旅游地点还未存在!"<<endl;system("pause");Tour_2(tree);} else{if(p->count>=6){cout<<"此旅游地人数已满,按'y'选择其他旅游地,其他键退出!"<<endl;cin>>c;if(c=='y'||c=='Y'){ cout<<"请重新输入区号"<<endl;cin>>code;Search_T(tree,code);}else Tour_2(tree);}else {cout<<"可以报名"<<endl;Insert_L(tree,p, p->list);Tour_2(tree);} }}TPlace Delete_T(TPlace &t,int co){TPlace p,parent,s,q;//parent指向要删除的节点的双亲,p指向要删除的节点p=t;parent=NULL;while(p){if(p->code==co)break;parent=p;if(p->code>co)p=p->lchild;elsep=p->rchild;}if(p==NULL) //不存在该树节点return t;if(p->lchild==NULL) //无左子树,右子树可有可无if(parent==NULL)t=p->rchild;elseif(parent->lchild==p)parent->lchild=p->rchild;elseparent->rchild=p->rchild;Delet_L (p->list); free(p);}else //有左子树,右子树可有可无{q=p;s=q->lchild; ////while(s->rchild){q=s;s=s->rchild;}if(q==p) //其左孩子没有右子树q->lchild=s->lchild;elseq->rchild=s->lchild;p->code=s->code; Delet_L (s->list);free(s);}return t;}void Fun1(TPlace &tree){char c;int n;TPlace p;cout<<"请输入插入地点个数:"<<endl;cin>>n;cout<<"依次输入各个旅游地点的区号和地名:"<<endl;for(int i=0;i<n;i++){p=(TPlace)malloc(sizeof(Place));cout<<"请输入第"<<i+1<<"个地点:"<<endl;cin>>p->code>>p->area ;p->lchild =p->rchild =NULL;p->list=NULL;p->count =0;Insert_T(tree,p);}cout<<"输入完成,输入y或者Y继续操作,其他键退出!";cin>>c;if(c=='y'||c=='Y') Fun1(tree);else {system("cls");Tour_1(tree);}}void Fun2(TPlace &tree,int x){int top=0;TPlace p,s[MAX];p=tree;while(p||top>0){while(p){s[top++]=p;p=p->lchild;}if(top>0){p=s[--top];cout<<setw(8)<<"区号:"<<p->code<<setw(10)<<"地名:"<<p->area<<setw(10)<<"人数:"<<p->count<<endl;p=p->rchild;}}if(tree==NULL)cout<<"还未录入旅游地!请稍后查询!"<<endl;cout<<"按任意键返回上一级菜单!"<<endl;system("pause");if(x==1)Tour_1(tree);if(x==2) Tour_2(tree);}void Fun3(TPlace &tree,int x){int n1=0,n2=0; char c;int top=0; int elem[MAX];TPlace p,s[MAX];p=tree;while(p||top>0){while(p){s[top++]=p;p=p->lchild;}if(top>0){p=s[--top];if(p->count<3&&x==1){cout<<setw(8)<<"区号:"<<p->code<<setw(10)<<"地名:"<<p->area<<setw(10)<<"人数:"<<p->count<<endl;elem[n1]=p->code ;n1++; } if(p->count<6&&x==2){cout<<setw(8)<<"区号:"<<p->code<<setw(10)<<"地名:"<<p->area<<setw(10)<<"人数:"<<p->count<<endl;;n2++; }p=p->rchild;}}if(x==1){cout<<"一共有"<<n1<<"各旅游景点人数少于三个"<<endl;cout<<"删除旅游地请输入D或者d,其他键返回菜单!"<<endl;cin>>c;if(c=='d'||c=='D') {for(int i=0;i<n1;i++) Delete_T(tree,elem[i]);cout<<"删除完成!"<<endl;} system("pause");Tour_1(tree);}if(x==2){cout<<"一共有"<<n2<<"个旅游景点仍可报名"<<endl;cout<<"按任意键返回上一级菜单!"<<endl;system("pause");Tour_2(tree);}}void Fun4(TPlace &tree){int co,id;TPlace p;linklist l,pre;p=tree;cout<<"输入要退出旅游地的区号和自己的身份证号:"<<endl;cin>>co>>id;while(p&&p->code!=co ){if(p->code>co)p=p->lchild ;else p=p->rchild ;}if(!p){ cout<<"此旅游地点还未存在!"<<endl;system("pause");Tour_2(tree);}else{l=p->list;pre=l;while(l->id!=id){pre=l;l=l->next;}pre->next=l->next;free(l);p->count--;cout<<"输入要报名的地点区号:"<<endl; cin>>co;Search_T(tree,co);}}void Mainlist(TPlace &tree){system("cls");cout<<"******************************************************"<<endl<<endl;cout<<" 欢迎登陆旅游购票系统"<<endl;cout<<" 请选择登录身份:"<<endl;cout<<" 1、旅游公司管理人员"<<endl;cout<<" 2、游客"<<endl;cout<<" 3、退出程序"<<endl;cout<<"******************************************************"<<endl<<endl;int n,key,i=1;cin>>n;switch(n){case 3: Destory(tree);exit(0);case 1: do{cout<<"请输入登陆密码:";cin>>key;i++; }while(key!=12345&&i<=3); if(key==12345) Tour_1(tree);else Mainlist(tree);break;case 2: Tour_2(tree);break;default :cout<<"输入错误,请重新选择!"<<endl;system("pause"); Mainlist(tree);}}void Tour_1(TPlace &tree){system("cls");int n;cout<<"******************************************************"<<endl<<endl;cout<<" 1、输入旅游地点 "<<endl;cout<<" 2、查询各旅游地游客人数"<<endl;cout<<" 3、显示不足三人的旅游地"<<endl;cout<<" 4、退出"<<endl;cout<<"******************************************************"<<endl<<endl;cin>>n;switch(n){case 1: Fun1(tree);break;case 2: Fun2(tree,1);break;case 3: Fun3(tree,1);break;case 4: Mainlist(tree);break;default :cout<<"输入错误,请重新输入!"<<endl;system("pause");Tour_1(tree);; }}void Tour_2(TPlace &tree){int code;system("cls");int n;cout<<"******************************************************"<<endl<<endl;cout<<" 1、输入旅游地区号 "<<endl;cout<<" 2、显示所有旅游地"<<endl;cout<<" 3、查询可报名地"<<endl;cout<<" 4、修改旅游地点"<<endl;cout<<" 5、退出"<<endl;cout<<"******************************************************"<<endl<<endl;cin>>n;switch(n){case 1: cout<<"请输入区号:"<<endl;cin>>code;Search_T(tree,code);break;case 2: Fun2(tree,2);break;case 3: Fun3(tree,2);break;case 4: Fun4(tree);break;case 5:Mainlist(tree);break;default :cout<<"输入错误,请重新输入!"<<endl;system("pause");Tour_2(tree);} }//销毁二叉树void Destory(TPlace &tree){if(!tree) {cout<<"此树已空!"<<endl;system("pause"); exit(0);} if(tree&&tree->lchild)Destory(tree->lchild);if(tree&&tree->rchild)Destory(tree->rchild);cout<<setw(5)<<tree->code<<setw(5)<<tree->area<<endl;Delet_L (tree->list);free(tree);}void main(){TPlace T=NULL;Mainlist(T);}六、调试分析及测试结果1、运行结果截图七、附录1、补充说明#include<stdlib.h> :包含分配空间的头文件#include<string> :包含对字符串进行操作的头文件#include<iomanip> :包含控制输出格式的头文件Destory 函数为释放内存,删除所建树的所有节点。

相关文档
最新文档