旅游信息管理系统设计与实现c.doc

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
旅游信息管理系统设计与实现c.doc

旅游信息管理系统设计与实现c 篇一:数据结构与OOP景区旅游信息管理系统- /* 15、景区旅游信息管理系统 【问题描述】 在旅游景区,经常会遇到游客打听从一个景点到另一个景点的最短路径和最短距离,这类游客不喜欢按照导游图的线路来游览,而是挑选自己感兴趣的景点游览。为于帮助这类游客信息查询,就需要计算出所有景点之间最短路径和最短距离。算法采用迪杰斯特拉算法或弗洛伊德算法均可。建立一个景区旅游信息管理系统,实现的主要功能包括制订旅游景点导游线路策略和制订景区道路铺设策略。 任务中景点分布是一个无向带权连通图,图中边的权值是景点之间的距离。 (1)景区旅游信息管理系统中制订旅游景点导游线路策略,首先通过遍历景点,给出一个入口景点,建立一个导游线路图,导游线路图用有向图表示。遍历采用深度优先策略,这也比较符合游客心理。 (2)为了使导游线路图能够优化,可通过拓朴排序判断图中有无回路,若有回路,则打印输出回路中的景点,供人工优化。 (3)在导游线路图中,还为一些不愿按线路走的游客提供信息服务,比如从一个景点到另一个景点的最短路径和最短距离。在本线路图中将输出任意景点间的最短路径和最短距离。 (4)在景区建设中,道路建设是其中一个重要内容。道路建设首先要保证能连通所有景点,但又要花最小的代价,可以通过求最小生成树(prime,克鲁斯卡尔)来解决这个问题。本任务中假设修建道路的代价只与它的里程相关。 【基本要求】 本任务应有如下功能模块: 创建景区景点分布图; 输出景区景点分布图(邻接矩阵) 输出导游线路图;深度优先策略 判断导游线路图有无回路;拓朴排序(查找入度大于1的景点) 求两个景点间的最短路径和最短距离;弗洛伊德算法 输出道路修建规划图。prime 主程序用菜单选项供用户选择功能模块。 */ 论文内容包括: 一、 课程设计题目: 二、 课程设计内容: 三、 算法设计: 四、 程序正确性验证(指边界测试数据,即程序对于精心选择的典型、苛刻 而带有刁难性的几组输入数据能够得出满足要求的结果): 五、 课程设计过程中出现的主要问题、原因及解决方法: 六、 课程设计的主要收获: 七、 对今后课程设计的建议: //代码: #include <iostream> using namespace std; #include<conio.h>//getch #include<cstdlib>//清屏函数头文件 #define M 100 #define INF 999666333 /**函数声明**/ void Welcome();//欢迎界面 void returnMainFace();//返回主界面函数 void MainFace();//主界面 void create_graph();//创建景区景点图 void print_graph();//输出景区景点图 void guide_line();//导游线路 void DFS(int c);//深度优先搜索导游线路 void checked();//检查是否存在一个合法的景区景点分布图 void Num_Name();//打印景点编号与景点名称的对应信息 void Floyd(int A[M][M],int path[M][M]);//Floyd算法 void Y_N();//选项判断函数 void check_circuit();//判断回路 /**定义数据结构**/ struct Matrix { int m[M][M];//景点邻接矩阵 string Pname[M];//各个景点的名称 }; typedef struct { string Sname;//景区名称 int count;//景点总数量 int edge;//道路数量 Matrix mat;//邻接矩阵 }Scenic; /**景区数据类型为全局变量**/ Scenic S; /***************************/ //创建一个景区邻接矩阵 void create_graph() { if(S.count>0) { cout<<"\n*当前已存在一个景区景点分布图!\n*继续操作将覆盖该景区景点分布图!(Y/N)"; Y_N(); } cout<<"\n*请输入景区的名称:"; cin>>S.Sname; cout<<"\n*请输入该景区的景点总数目:"; cin>>S.coun

文档评论(0)

cai + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档