旅游业四导
1. 旅游资源开发的基本原则1.突出特色原则2.市场导向原则3.开发与保护协调原则4.经济原则5经济效益社会效益
这个问题我可以给你一个案例,就是美国的案例!你知道我国是怎么开发旅游项目的?就是这个地区有什么旅游优势,有什么发展项目就用金钱打造当时又不是纯旅游的城市,多少都带有点工业化什么的!你知道美国怎么弄的嘛?我不记的一个叫什么洲的了,名字不记得了,就是美国的一个州他没有什么工业,几乎没有,就纯靠旅游业,他怎么做?就是这个地区全部都发展旅游业,不带一点工业和其他的,保持住最好的环境,最佳的旅游状态,地方财政怎么赚钱?就靠他,他怎么运作就是,别人在其他城市赚了钱就会来这里,因为这里是最好的旅游圣地,他要做的就很简单,不用花太多的钱去用人工打造什么,就借助当地的自然环境就好了,保持住环境,一年一点点的保养费就好了,而世界所有人都会来这里,他就赚钱,而其他的地方呢?就唇发展工业啊,科技啊!绝对不在一起!这就是美国!所以原来也有人对我国的西部大开发政策也有说法!结果没办法,政治原因,必须实施!你参考下吧!
2. 《旅游法》第四十条规定,导游为旅游者提供服务必须接受旅行社委派,不得私自承揽导游和领队业务。
这是不规范的,那确权的说网约导游提供的是陪玩服务,而不是导游服务
3. 双语导游到底考什么内容
1、关于导游证:
导游证一般分为国导证,省导证,地方导游证,这几个证,从先往后先难后易。国导证最难考,不过国导考到手了在全国所有的地方都是通用的,所以还是建议考国导。
2、关于考导游证的资格:
只要是高中及同等诉中专或是职高毕业就能考.不过现在不同的地方好像有些不同的规定吧.要看你所在的地区.
3、关于导游考试的题目:
导游证的题目也是各个省自己出的,虽说是国导也要专业考所在省的部分知道.
现在大概都考三门:基础知道(这个是两本书的:全国的和所在省的)、导游业务、现场导游(这个会提前告诉一定量的景点,在现场抽题)
4、关于报名和费用:
如果真的要考,就要先要当地的旅游局下面的一个部门——旅游培训中心打听一下。各地的报名费用和考试时间都不一样。不过导游证报名费都不低,要到500上下吧。再去培训中心买书和大纲。
5、关于是否好考:
一句话,只要把3本书都背完了,还有所有的景点导游辞都背了就能过。不过也不是一件简单的事。你至少要保证你的记忆力不差还有你对历史地理这些东西不反感,这些是首要的。你要准备一个月的时间要天天看书,(个人情况不定)。如果你本来史地知识就很好那就太好了。你会轻松很多。
6、还有一点就是很多人的误会,因为我们常说考导游证,但是我们考到的并不是导游证,只是导游人员资格证,但必要有了这个证才能去通过旅行社向当地旅游局申请导游证。这是一个过程了,就是说你考试之后一定要跟一家旅行社签了合同才可能拿到导游证。
■导游资格证考试报名条件、时间与要求■
※报名条件与要求
遵守宪法,热爱祖国,坚持四项基本原则,具有高级中学、中等专业学校或者以上学历,身体健康,具有适应导游需要的知识和语言表达能力的中华人民共和国公民。
※考试内容:
一、导游综合知识:为笔试,
主要内容为:
(1)【旅游方针政策与法规及每年的时事政治】
(2)【导游业务】(含旅游案例分析)
(3)【全国导游基础知识】和【地方导游基础】
(4)【汉语言文学基础】(北京与湖南的考生须考)
(5)【导游外语】(外语类考生须考,国语类考生不用考)
二、导游服务能力:为现场考试,即口试,
主要内容为:
(1)【导游讲解能力】
(2)【导游规范服务能力】;
(3)【导游特殊问题处理及应变能力】
外语类考生须用所报考语种的语言进行"导游服务能力"一科考试,并加试口译(中译外和外译中)。
※报名与考试时间:
由各省结合自身情况自定。报名一般在每年的六月至九月,考试一般在10月至12月间,象广东省去年就考了俩次,所以考生要向当地旅游局问清楚报名和考试的时间。
※考试教材
笔试教材:
【全国导游基础】
【导游业务】
【旅游政策法规与职业道德】
【地方导游基础知识】
参考书: 【旅游案例分析】
口试教材:
【地方的旅游景点导游词】
【导游规范服务】
【导游应变能力及应急事件处理】
解析导游资格证考试的考场内外■
一:精心策划,准备资料:
全国各省市导游资格证考试每年举行一次,报名的时间在每年的六月份至十月份,考试的时间在九月份至十二月份,每年各省的考生都有几千人。随着旅游行业的规范化,考试的难度在加大,随着导游行业效益的看涨,报考的人数在增加,现各省的录取率仅百分之二十几,比高考的录取率还低,竞争在趋于白热化。怎样在激烈的竞争中取胜,考生就此须制订一个学习计划。外语类的考生如自己的外语基础好可以一次性报考外语导游资格证考试,如果自己的基础没有把握,建议第一次先考国语导游证,拿到了国语导游证第二年再补考一门外语的笔试和口试就可以拿到外语导游证了。
(1)【提早准备】:一般以提前几个月做准备为好,有几个月的时间你可以对几本教材进行有针对性的综合性训练。有的考生等到报名后才拿到书,在书上勾了一下重点,书都没有系统看完一遍,更没有时间做过一些相关的配套练习,笔试口试都没有得到综合性的训练,凭着侥幸的心理,没一点把握就上考场了,考出来猜想自己也许可以得六十分,结果是年年考,年年落榜,最后自己都没信心了,浪费了多少时间,钱财和精力。
(2)【收集资料】:和参加高考一样,你的手头必须要有一套完整的导游资格证考试教材和与教材配套的练习和模拟考题。
笔试:
【全国导游基础】【导游实务】【政策法规与职业道德】【地方导游基础知识】四本教材,及【旅游案例分析】参考书。
口试:【地方导游词】【导游规范服务】【导游应急事件处理与应变能力】。
(3)【学习计划】:制订一个学习计划,用几个月的时间先把四本教材做熟,并编制一套完整的口试材料。报名以后根据本
年考试的具体情况进行调整,报名以后到考试前的俩个月进行全方位的综合训练。
(4)【了解信息,及时报名】:各省市的报名时间和考试时间都不一样,考生在努力学习的同时,还要随时关注本地市旅游局的动态,及本地市新闻报纸上的导游资格证考试的报名消息,最好在六月份以后给旅游局打电话,咨询本年度报名的准确时间,做好报名准备。
二:努力学习,接受指导,高强度练习训练:
■导游资格证考试的笔试,口试内容及强化学习■
笔试的考试教材有四本书:
【导游基础】【导游业务】【旅游政策与法规】【地方导游基础】
【导游基础】全国部分的内容一般分为:
1:旅游业知识概述
2:中国历史文化
3:中国旅游地理
4:中国民族民俗
5:中国宗教文化
6:中国古代建筑与园林艺术
7:中国的文学艺术
8:中国的饮食文化
9:中国的风物特产
10:中国的港澳台地区及主要的旅游客源国
【导游业务】的内容一般分为:
1:导游概述
2:导游语言艺术
3:导游技能
4:导游接团程序与问题应对
5:其他导游服务。
6:旅游事故的处理
7:导游业务的相关知识。
【旅游政策与法规】的内容一般分为:
1:社会主义初级阶段与邓小平理论及三个代表
2:社会主义的改革与建设
3:我国的对外,对港澳台政策
4:我国的旅游政策
5:我国的法治建设与宪法
6:合同法律制度
7:旅行社管理法规制度
8:导游人员管理法规制度
9:旅游安全及保险法规制度
10:旅游者出入境及行李运输法规制度
11:旅游卫生与食品卫生管理
12:旅游资源管理法规制度
13:消费者权益保护与旅游投诉法规制度
14:导游职业道德
【地方导游基础】的内容一般分为:
1:本省概况
2:本省旅游概况
3:本省主要景区城市概况
4:本省主要旅游景点概况
5:本省的风俗民情
6:本省的饮食
7:本省的特产
8:本省的名人及文学艺术及其他
口试的考试教材有三方面的书籍教程:
【本省导游词】
【导游规范服务】
【导游员特殊问题处理及应变能力】
■报考须知■
一.考试报名须提交材料:
1.本人身份证(原件);外省的须暂住证。
2.学历证明(高中毕业或中专毕业以上)原件;
3.国家县(区)级以上医院出具的近期健康状况证明(必须包括常规检查及肝功、乙肝两对半检查)
PS:校医院及不符合规定的医院开据的健康证明不能证明其本人的健康状况;健康证在有效期内可以使用;
4.本人1寸正面半身免冠彩色照片四张;
5.在报名地点领取并填写完整的《全国导游人员资格考试报名表》。
6.报名的条件:年满十八岁,身体健康,具备有高中(含职业中学)或高中毕业以上文凭的中国公民。
7.报名在自己的户口所在地的旅游局报名。在校大学生在学校所在地的旅游局报名。在外地打工的,须持打
工城市的暂住证,在该城市的旅游局报名。
8.报考外语导游资格考试的要外语专业的大专以上,非外语专业的本科以上
二:全国各省导游资格证考试时间
1.笔试的考试时间:一般在当年的九月到十二月底这段时间,报名以后当地旅游局会有具体的通知。
2.口试的考试时间:口试的考试一般比笔试的考试延后一段时间,在当年的十月份到十二月份举行。报名以后当地旅游局会有具体的通知。
■各省导游资格证考试----报考路线图■
◆:首先确立报考导游资格证书的决心:
全国十大高收入的行业,比高考竞争还激烈的考试,你有信心去考取吗?如果你决心去报考导游资格证书,无论自己是否了解
旅游业,无论别人说什么,无论有什么困难,都朝自己确定的目标去努力,你一定会成功 .
◆:准备考试资料:
1: 导游资格证考试的教材书籍
A:笔试考试书籍资料:
【全国导游基础】
【导游实务】
【旅游方针政策与法规】
【地方导游基础知识】 (必考笔试书籍教材)
【旅游案例分析】 (笔试参考书)
B:口试考试书籍资料:
【本省导游词】
【导游规范服务】
【导游应急事件处理与应变能力】 (必考口试教材)
C:外语导游资格证考试书籍资料:在国语导游资格证考试的书籍基础上加试 【导游外语】(国语导游不需考外语)
◆考试报名: 导游资格证考试每年一次,个别的省份一年考两次。各省的报名时间在大致在六至九月份,先打电话到当地的旅游局咨询报名的
时间,然后在报名的时间里,带上你的身份证和毕业文凭到当地的旅游局报名。街上买不到的教材,此时在旅游局都可买到,在旅游
局里仔细咨询本省的笔试,口试考试信息。注意一定要提前打电话咨询,不要错过了报名的时间。在我们的"考试科目"一栏里,我
们列举了全国各省市的旅游局地址和电话号码,你还可以打当地的114询问旅游局的电话。
◆学习方法:
很多的考生拿到教材后,面对一大堆的书籍,不知从何入手。有的考生看书很慢,一本教材看了一个月还没有看完,看了后面又
忘了前面,什么也没记住。
◆考场发挥:
●:在笔试的考场上,认真阅读试卷,快速,准确,全面的答题。先做完自己会做的题,再来思考不会做的题,尽可能的答完全部
的试题。提早做完题的不要提前交卷,反复仔细的检查做完的答案,准确无误了再交卷。
●:在口试的考场上,衣着要整洁,礼节要周全,态度要平和,解说要流畅,口齿要清楚,语速要中等,反应要敏捷,面部要微笑
,神态要亲切。对考官的提问要有问必答,不会的自己编也要回答,不要不答。回答之前对考官说:我开始讲解了,回答之后对考官。
4. 导游带团大概四个人需要多少钱
其实导游也是蛮赚钱的职业,只是不是很稳定罢了
1.导游分有薪型或无薪型,也就是说有些导游在和老板签订的协议中可以签订为需不需要低薪,如果需要的,你就要天天上班,但是收入稳定,而且不能做兼职(也就是去其他社带团),而无薪型比较自由,具体看合同办。
2.导游进入消费点,也就是购物点,只要顾客进入购物点,旅行社就能够有一定的钱,不论顾客有没有购物,如果顾客购物,就可以从盈利中赚取三成左右的金钱,具体看购物点的回执。
3.中途所增加的购物点盈利(即使不够物)应该规导游所有,按照人头计,还有的是餐标,一般旅行社给出的餐标是18元每人十人一桌,如果有哪个大老板不满意,要增加餐标,点龙虾,石斑鱼之类的,导游作为中介,也可以从中盈利。还有增加一些旅行点等就不多加诉说了。
4.导游每天有固定的补助(应该是50元以上),旅行社也会给他们固定的电话费补助,有些地方需要给小费,例如泰国,香港,台湾等。收入还可以吧!
5.最后就是介绍人了,如果你作为导游,把团介绍旅行社,按照旅行介不成文的规定,旅行社是要给介绍人60%或以上的回佣,呵呵,所以有些导游的收入还是挺丰富的,五一的时候我认识几个导游,带个黄金周就赚了几千元。
5. 我是大四旅游管理刚毕业的学生,想在哈尔滨找一份导游的工作,可是旅
在竞争日趋激烈的旅游业,对旅行社从业人员的要求也越来越高,一职多能、从业经验都是企业招聘人员时考虑的重要因素,任何一所旅游管理专业的学校都清楚这一点。否则,它就不是一所合格的学校;或学校的教师很不负责;或学习的学生根本没认真听过课。 导游资格证考试通常考核三个方面:导游业务、相关法律,以及景点讲解。一名合格的管理人员应该熟悉业务,即熟悉相关法律条文会使经理立于不败之地,熟悉导游业务使经营事业功倍。 虽然,严格地讲,作为全陪可以无导游证,但哪家旅行社会聘用一个只能做全陪的员工呢?哪家旅行社会聘用一个不了解业务的员工呢?有多少企业会先培训一名白丁而后上岗呢?换位思考一下,如果你是老板,会聘用这样的人吗? 朋友,我的话可能不中听,但字字发自肺腑。我感觉你上学时不是个好学生,因为这个问题实在……自我。很多时候我们做事不仅因为生存、不仅因为兴趣,更多地会考虑社会的需要。 其实考取导游证并不难,旅游局在举行导游资格证考试前都有培训班,认认真真地听课,把老师的要求一一做到,取证很容易。引用米卢说过的一句话——态度决定一切。你肯定行的! 最后,祝顺利取得导游证。
6. 旅游团近1/4导游没有资格证吗
中消协认为,导游是整个旅游过程的主导者,但此次体验式调查发现,导游存在很多问题,主要为更改路线、无证导游、与合同不符,且更改路线的现象在节假日更为严重。有27.4%的体验员遇到更改路线的情况,以西南和华东较为严重。此外,无相关资格证的“黑导”普遍出现,调查显示,近1/4的导游或领队没有相关资格证。
调查还发现,体验员投诉后,解决问题不及时。有11.9%的体验员指出旅途中出现投诉旅行社、导游、景区商家的情况,但能够及时解决的不足两成。
7. 大学学的旅游管理,毕业四年导游,请问现在我转行做什么好ps四年全陪,就是不是特别能说的那种。我该转
既然你觉得你不是特别能说,你可以试试文职类的工作,比如做行政人事,或者做技术类的工作,望采纳!
8. 我是一个旅游管理专业大三的学生 实习完马上大四了,可是我不知道考研还是就业 不想从事导游行业 酒店我又
我也是一名大三的学生,明年就大四了,我读的是旅游管理酒店方向,可以说我们是同行了,呵呵。我是没有打算考研的,这个专业考研的话没什么意义。而且这个专业越早出来越好,所以我想早一点出来在酒店慢慢做下去。酒店这个行业重在坚持,其实很多行业都是这样啊。酒店做的好的话,养家糊口是可以的。如果你英语好的话,在酒店是蛮好混的。我觉得很多工作能力是可以在工作中发现和挖掘的,我今年暑假也去实习了,呵呵,虽然很辛苦,但是我还是会继续在酒店这个行业待下去的。
这只是我自己的看法,看到你和我同一届,又同专业,就和你交流一下我的观点,仅供参考。
主要还是看自己的决定的,加油!!
9. 4 旅游区导游图 (7人)
#include"stdio.h"
#include"malloc.h"
#include"string.h"
#include<iostream.h>
#define INFINITY 32767 /* 最大值∞ */
/* 根据图的权值类型,分别定义为最大整数或实数 */
#define MAX_VEX 30 /* 最大顶点数目 */
typedef enum {FALSE , TRUE} BOOLEAN ;
typedef struct MGraph{
char vexs[MAX_VEX];
int arcs[MAX_VEX][MAX_VEX];
int vexnum,arcnum;
}MGraph;
/*图的邻接链表表示结构有关定义*/
typedef struct Linknode{
char adjvex; /*邻接点在头结点数组中的位置(下标)*/
int info; /*与边或弧相关的信息, 如权值*/
struct Linknode *nextarc; /*指向下一个表结点*/
}LinkNode; /* 表结点类型定义 */
typedef struct VexNode{
char data; /*顶点信息*/
LinkNode *firstarc; /*指向第一个表结点*/
}VexNode; /* 顶点结点类型定义 */
typedef struct {
int vex1, vex2; /* 弧或边所依附的两个顶点 */
int info; /*与边或弧相关的信息, 如权值*/
}ArcType; /* 弧或边的结构定义 */
typedef struct{
int vexnum;
VexNode AdjList[MAX_VEX];
}ALGraph; /* 图的结构定义 */
////////////////////////////////////////////////////////////////////////////////////////////
/* 图的邻接链表表示 */
void Init_Graph(ALGraph * G){
/*图的初始化*/
printf("旅游区导游图的类型:带权无向图");
G->vexnum=0; /* 初始化顶点个数 */
}
int LocateVex(ALGraph *G, char vp) {
/*图的顶点定位*/
int k;
for(k=0; k<G->vexnum;k++)
if(G->AdjList[k].data==vp)
return(k);
return(-1); /* 图中无此顶点 */
}
int AddVertex(ALGraph *G, char vp)
{
if (G->vexnum>=MAX_VEX)
{
printf("图中顶点数已达到最多!\n");
return(-1);
}
if(LocateVex(G,vp)!=-1)
{
printf("所要添加的顶点已存在!\n");
return(-1);
}
G->AdjList[G->vexnum].data=vp;
G->AdjList[G->vexnum].firstarc=NULL;
++G->vexnum;
return 1;
}
int AddArc(ALGraph *G, ArcType *arc){
/*向图中增加一条边(弧)*/
int k,j;
LinkNode *p,*q;
k=LocateVex(G,arc->vex1);
j=LocateVex(G,arc->vex2);
if (k==-1||j==-1)
{
printf("该两个景点之间一点 或 两点都不存在,错误 !\n"); //////
return(-1);
}
p=(LinkNode *)malloc(sizeof(LinkNode));
p->adjvex=arc->vex1;
p->info=arc->info;
p->nextarc=NULL; /* 边的起始表结点赋值 */
q=(LinkNode *)malloc(sizeof(LinkNode));
q->adjvex=arc->vex2;
q->info=arc->info;
q->nextarc=NULL; /* 边的末尾表结点赋值 */
q->nextarc=G->AdjList[k].firstarc;
G->AdjList[k].firstarc=q;
p->nextarc=G->AdjList[j].firstarc;
G->AdjList[j].firstarc=p ;
return(1);
}
ALGraph *Create_ALGraph(){
/*采用邻接链表作为图的存储结构建立带权有向图*/
char stack1[6],stack2[6],vex,k1,k2;
int weight;
ALGraph *G;
ArcType *p;
printf("首先对旅游区导游图进行初始化!!!\n\n");
G=(ALGraph *)malloc(sizeof(ALGraph));
Init_Graph(G);
printf("\n请输入旅游区导游图的各个旅游景点代码(只允许是字符,不为字符串),0作为结束标志\n");
while(1)
{
scanf("%s",stack1);
vex=stack1[0];
if(vex=='0')
break;
else
AddVertex(G,vex);
}
p=(ArcType *)malloc(sizeof(ArcType));
printf("\n 以(Vi ,Vj ,d)的形式从键盘输入建立该旅游区的旅游景点图,\n 其中: Vi和Vj表示两个不同的旅游景点, d表示这两个景点之间的道路距离;\n 该旅游景点图采用邻接链表存储结构(第一个顶点是0时表示结束):\n");
while(1)
{
scanf("%s",stack1);
k1=stack1[0];
if (k1=='0') /* 输入第一个顶点,0结束 */
break;
else
{
scanf("%s",stack2) ;
scanf("%d",&weight) ; /* 输入第二个顶点和权值 */
k2=stack2[0];
p->vex1=k1;
p->vex2=k2;
p->info=weight;
AddArc(G,p) ;
printf("\n请继续输入下一条道路!!\n") ;
}
}
return(G);
}
void output_ALGraph(ALGraph *G){
/* 输出图的邻接链表 */
int j;
LinkNode *p;
printf("\n旅游区导游图的邻接链表表示如下:\n");
for (j=0;j<G->vexnum;j++)
{
printf("%c",G->AdjList[j].data);
p=G->AdjList[j].firstarc;
while(p!=NULL)
{
printf("->");
printf("<%c,%d>",p->adjvex,p->info);
p=p->nextarc;
}
printf("\n\n");
}
}
void output_Find_ALGraph(ALGraph *G){
/* 相邻景点查询并输出 */
int j;
LinkNode *p;
printf("请输入你要查询的景点(下标值):\n");
scanf("%d",&j);
p=G->AdjList[j].firstarc;
while(p)
{
printf("景点%c到景点%c的距离是%d (该两个景点之间有直接的道路相通)\n",G->AdjList[j].data,p->adjvex,p->info);
p=p->nextarc;
}
printf("\n\n");
}
void ListToMat(ALGraph G, MGraph &g){
/*将邻接链表转换成邻接矩阵*/
int k,i,j,n=G.vexnum;
LinkNode *p;
for (i=0;i<n;i++) /*g.arcs[i][j]赋初值0*/
for (j=0;j<n;j++)
g.arcs[i][j]=INFINITY;
for(i=0;i<G.vexnum;i++)
{
g.vexs[i]=G.AdjList[i].data;
}
for (i=0;i<n;i++)
{
p=G. AdjList[i].firstarc;
while (p!=NULL)
{
k=LocateVex(&G,p->adjvex);
g.arcs[i][k]=p->info;
p=p->nextarc;
}
}
g.vexnum=G.vexnum;
}
void display(ALGraph *G,MGraph g){
//输出邻接矩阵
int i,j;
ListToMat(*G, g);
for(i=0;i<G->vexnum;i++)
printf("%6c",G->AdjList[i].data );
printf("\n");
for(i=0;i<g.vexnum;i++)
{
for(j=0 ;j<g.vexnum ;j++)
{
printf("%6d", g.arcs[i][j]);
}
printf("\n");
}
}
void dijkshort_One(ALGraph F, MGraph G,int v0,int distance[], int pre[]){
// 带权图G从顶点v0到其他定点的最短距离distance和最短路径前驱结点的下标pre
int w;
int S[30],i,j,k,p,min;
ListToMat(F, G);
printf("你所要开始查询的景点是:%c\n",F.AdjList[v0].data);
for(i=0;i<G.vexnum;i++)
{
distance[i]=G.arcs[v0][i];
S[i]=0;
if(distance[i]<32767)
pre[i]=v0;
else
pre[i]=-1;
}
S[v0]=1; //顶点v0已加入到集合S中
for(i=0;i<G.vexnum;i++)
{
min=32767;
for(j=0;j<G.vexnum;j++)
{
if(!S[j]&&distance[j]<min)
{
min=distance[j];
k=j;
}
}
S[k]=1; ///将找到的顶点加入到集合S中
for(w=0;w<G.vexnum;w++) // /修改集合T中顶点的距离值
if(!S[w]&&distance[w]>distance[k]+G.arcs[k][w])
{
distance[w]=distance[k]+G.arcs[k][w];
pre[w]=k;
}
}
printf("查询结果:\n");
for(j=0;j<G.vexnum;j++) //输出结果
if(pre[j]!=-1)
{
printf("从景点%c到景点%c",F.AdjList[v0].data,G.vexs[j]);
p=pre[j];
printf("的最短距离是: %d",distance[j]);
printf(" 途中经过的景点有:");
while(p!=-1)
{
printf(" %c",G.vexs[p]);
p=pre[p];
}
printf("\n");
}
else if(j!=v0)
printf("\n%c到%c : no path",G.vexs[j],G.vexs[v0]);
}
void dijkshort_Two(ALGraph F, MGraph G,int v0,int distance[], int pre[]){
// 带权图G从顶点v0到其他定点的最短距离distance和最短路径前驱结点的下标pre
int w;
int S[30],i,j,k,p,min,d;
ListToMat(F, G);
printf("你所要开始查询的开始景点是:%c\n\n",F.AdjList[v0].data);
for(i=0;i<G.vexnum;i++)
{
distance[i]=G.arcs[v0][i];
S[i]=0;
if(distance[i]<32767)
pre[i]=v0;
else
pre[i]=-1;
}
S[v0]=1; //顶点v0已加入到集合S中
for(i=0;i<G.vexnum;i++)
{
min=32767;
for(j=0;j<G.vexnum;j++)
{
if(!S[j]&&distance[j]<min)
{
min=distance[j];
k=j;
}
}
S[k]=1; ///将找到的顶点加入到集合S中
for(w=0;w<G.vexnum;w++) // /修改集合T中顶点的距离值
if(!S[w]&&distance[w]>distance[k]+G.arcs[k][w])
{
distance[w]=distance[k]+G.arcs[k][w];
pre[w]=k;
}
}
printf("输入你要查询的另外一个景点(下标值):");
scanf("%d",&d);
printf("你要查询的另外一个景点是:%c\n",G.vexs[d]);
printf("\n查询结果:\n"); //输出结果
if(pre[d]!=-1)
{
printf("从景点%c到景点%c",F.AdjList[v0].data,G.vexs[d]);
p=pre[d];
printf("的最短距离是: %d",distance[d]);
printf(" 途中经过的景点有:");
while(p!=-1)
{
printf(" %c",G.vexs[p]);
p=pre[p];
}
printf("\n");
}
}
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/* ------------菜单------------*/
void main()
{
int n,v0;
MGraph g;
int distance[MAX_VEX],pre[2*MAX_VEX];
ALGraph *G;
printf("┏┉┉┉┉┉┉┉┉┉┉┉┉┓\n");
printf("┋ 欢迎使用旅游区导游系统 ┋\n");
printf("┗┉┉┉┉┉┉┉┉┉┉┉┉┛\n");
do
{
printf("\n请选择对旅游区导游图的操作:\n\n");
printf(" ┏━━━━━━━━━━━━━━━━━━━━━┓\n");
printf(" ┃ 1.建立旅游区导游图的邻接链表 ┃\n");
printf(" ┃ 2.旅游区导游图的邻接链表的输出 ┃\n");
printf(" ┃ 3.旅游区导游图的邻接矩阵的输出 ┃\n");
printf(" ┃ 4.相邻景点查询 ┃\n");
printf(" ┃ 5.景点路线查询 ┃\n");
printf(" ┃ 6.景点路线综合查询 ┃\n");
printf(" ┃ 7.退出操作 ┃\n");
printf(" ┗━━━━━━━━━━━━━━━━━━━━━┛\n");
do
{
scanf("%d",&n);
}
while (n<1||n>8);
switch(n)
{
case 1:
{
G=(ALGraph *)malloc(sizeof(ALGraph));
G=Create_ALGraph();
printf("\n\n");
break;
}
case 2:
{
printf("\n旅游导游图的邻接链表表示如下所示:\n");
output_ALGraph(G);
printf("\n\n");
break;
}
case 3:
{
printf("\n旅游区导游图的邻接矩阵表示如下所示:\n");
display(G,g);
printf("\n\n");
break;
}
case 4:
{
output_Find_ALGraph(G);
printf("\n\n");
break;
}
case 5:
{
printf("输入你要查询的景点(下标值):");
scanf(" %d",&v0);
dijkshort_One(*G,g,v0,distance,pre);
break;
}
case 6:
{
printf("输入你要查询的开始景点(下标值):");
scanf(" %d",&v0);
dijkshort_Two(*G,g,v0,distance,pre);
break;
}
}
}
while(n!=7);
}