高淳自驾游导航系统

来源:互联网 发布:淘宝店铺取消自动下架 编辑:程序博客网 时间:2024/04/27 20:02

#include "StdAfx.h"
#include<iostream>
#include<string>
using namespace std;
#define MaxVertexNum 50   /*景点个数最大50*/
#define MAXCOST 1000  /*定义路径的无穷大*/
#define T 8            /*目前景点个数*/

typedef struct
{
    char name[20];     /*景点名称*/
    char number[15];   /*景点代号*/
    char introduce[100]; /*景点简介*/
}Elemtype;
typedef struct
{
   int num;            /*顶点编号*/
   Elemtype date;      /*顶点信息*/
}Vertex;               /*定义顶点*/

typedef struct
{
   Vertex vexs[MaxVertexNum];   /*存放顶点的一维数组,数组第零个单元没有用上*/
   unsigned int edges[MaxVertexNum][MaxVertexNum]; /*存放路径的长度*/
   int n,e;
}MGraph;

MGraph MGr;    /*全局变量,定义MGr为MGraph类型*/
int shortest[MaxVertexNum][MaxVertexNum];  /*定义全局变量存贮最小路径*/
int path[MaxVertexNum][MaxVertexNum];      /*定义存贮路径*/

void init()
{
 int i,j;
  MGr.vexs[1].num=1;
 strcpy(MGr.vexs[1].date.name,"游子山风景区 ");
 strcpy(MGr.vexs[1].date.number,"001");
 strcpy(MGr.vexs[1].date.introduce,"游子山真如禅寺是全国佛教四大名山之一——安徽大九华山下院,座落在省级森林公园游子山,占地面积100多亩,也是国家AA级旅游景区。向东并排两道山门,南北两道山门相距99米,都是三门并列牌坊式仿古建筑。中门上方嵌刻“真如禅寺”四个大字,是原中国佛教协会会长赵朴初手迹。进入禅寺北大门,脚下是宽阔的车道,左边紧靠围墙是一个占地约10亩的三角形放生池。墙栏护堤,毛石护坡,碧波荡漾。车道右边是三层11间的宾馆,一楼中间是“地藏殿”,九华山大愿地藏王菩萨暂供在这里。宾馆左边是五间厨房,内设斋堂。右边是“玉佛殿”,内供三尊国内罕见的玉佛,是天津居士出资从缅甸请来的,大殿气势雄伟,向下九九八十一层台阶,全是汉白玉栏杆。“玉佛殿”斜对面是华东第一大石佛,高21米,重达千吨,由135件佛体组合而成,名为“阿弥陀佛”。顺着露天大佛边的车道,稍一拐弯,直通山上大雄宝殿,途经一个正方形放生池,池不大而深,白色水泥栏杆护沿,池中四角,石雕四龙探头,妙趣横生。从下直上一百二十九级台阶,两边也是汉白玉栏杆。从上至下每隔二十七级台阶是一个大平台,第一平台正中有石雕九龙壁;第二平台有石雕九凤壁。平台左右各一头石雕麒麟。大雄宝殿正中供奉三尊大佛,两侧是石雕十八罗汉,背后是“观音海岛”文殊、普贤,大殿上装有幻彩灯,气势雄伟,金碧辉煌。大雄宝殿西侧是“大悲宝殿”,殿内中间供着四面千手千眼观世音菩萨,两边是84大悲、32应身像,后边是中华六祖圣像,工艺精湛,令人赞叹。大雄宝殿东边,大悲宝殿。游子山真如禅寺总投资已达5000多万元人民币,越来越被国内外各界人士所仰望。2003年5月22日,国防部长、中央军委副主席迟浩田视察了真如禅寺,并和当家师释果圣合影留念。2004年6月4日,中央总书记、军委主席江泽民参观九华山与真如禅寺主持释慧深法师合影留念,这将给游山真如禅寺增加无尚的风采。 游子山,四次易名,先叫绵山,后为凉山,孔子到此一游,又叫作游子山,后来乾隆皇帝下江南到此改名叫游山。游子山景色秀丽,形如双龙戏珠,真如禅寺便建在这双龙环抱之中游子山真如禅寺,已成为高淳县的旅游风景区之一,是南京市的后花园。 ");
 
  MGr.vexs[2].num=2;
 strcpy(MGr.vexs[2].date.name,"高淳老街");
 strcpy(MGr.vexs[2].date.number,"002");
 strcpy(MGr.vexs[2].date.introduce," 高淳老街是中国古街的一颗灿烂的明珠,是江苏省保存最为完整的明清古街,以古老和奇特而闻名,为国家AAA级旅游景区,省级文物保护单位。老街原名正义街,辛亥革命胜利后,为了纪念伟大的革命先驱孙中山先生,易名“中山大街”。日军侵占高淳后,改称“和平街”。日本投降后,复名“中山大街”。“文革”期间,又将其更名为“东方红大街”。1982年进行地名普查时,又重新复名“中山大街”。老街风景区目主要有关王庙、高淳民俗馆、杨厅、新四军一支队司令部、高淳民俗表演馆、新四军驻高淳办事处旧址、乾隆古井等八处景点,以展现古老朴实的古建筑艺术及蕴涵其间的丰富民俗文化为主。老街始建于明初,历经明、清两代500多年的不断建设,历史上形成了一条长800余米(最初为1135米),宽3.5米左右的“一”字形街道。近年来年来,通过不断修缮和改造,禀承“修旧”如旧原则,使老街仍保持了昔日的风貌,依旧飘逸着古色古香的韵味。老街以古典建筑而著称,街中的店铺一般都为楼宇式双层砖木结构,挑檐、斗拱、垛墙、横衍、镂窗齐全,造型别致,古朴华丽。由于明清时期有大量商贾来自皖南徽州地区,故建筑风格带有明显的徽派特色,形式多样,风格各异。街道全用青石和胭脂石铺墁、两侧用青灰色石灰岩条石纵向铺砌,中间用胭脂石横向排列。分布在景区的“乾隆古井”、“关王庙”、“土地神楼”、“道教神像”、“高淳民俗馆”、“杨厅”、“耶稣教堂”以及周边的“宝圣寺塔”、“聚星阁”等景点,都各具特色,内容极其丰富,具有很高的观赏价值。例如在“高淳民俗馆”内展示道教神画像。保存至今已有300多年历史,依然清晰完好,依然色彩绚丽。再如陈列在“高淳民俗馆”内的砖雕石(木)刻,线条流畅,刀法细腻,布局合理,神态逼真,唯妙唯肖,巧夺天工。目前陈列在“高淳民俗馆”内的1600余件展品,从不同侧面展示了高淳农、渔、纺织业生产和雕刻、陶瓷、炻器、民间音乐、舞蹈、地方戏剧等生产、生活诸多方面的状况及地方民俗风情,再现了高淳人民多姿多彩、别具一格的民俗风情,堪称是中华民族民俗文化的一个缩影。以高淳民间文艺活动为例,就有跳五猖、大马灯、打水浒、荡旱船,打莲湘、挑花篮、打锣鼓、蚌仙舞等等。高淳老街的特色商品名闻遐迩。老街的特色产品十分丰富,其中最具地方特色的产品有大众布鞋、羽毛贡扇、珍珠饰品、玉泉炻器、香干豆腐、风味糕点、云溪香鹅、固城湖螃蟹等,其中以羽毛贡扇最负盛名。明嘉靖年间,高淳羽扇传进皇宫,深得皇室青睐,成为皇室贡品。1951年,高淳制扇艺人为了感谢党和人民政府对羽扇行业关心和支持,挑选最好的羽毛雕翎,精心制作了四把宝剑式象牙柄的大型羽扇,分别赠送给毛泽东主席,朱德总司令等国家领导人。此外,老棉布鞋也是高淳老街著名特产之一,就连世界钢琴大师查理德先生也慕名前来购买高淳布鞋。老街是一处革命圣地。抗日战争时期,陈毅司令员于1938年6月亲率新四军一支队东征路过高淳时,曾在位于老街中段的吴氏宗室内设立了新四军一支队司令部。陈司令员在高淳逗留期间,做了大量抗日统一战线工作,并留下了“东征初抵高淳”的壮丽诗篇。高淳老街近年来已成为全国重点影视拍摄基地,电影《黄桥决战》、《将军的抉择》、《张文祥刺马》、《银楼》及《半个冒险家》,央视连续剧《大江风雷》、《红与黑2000》、《风雨中国心》均在此取景拍摄。 ");
 
  MGr.vexs[3].num=3;
 strcpy(MGr.vexs[3].date.name,"迎湖桃源");
 strcpy(MGr.vexs[3].date.number,"003");
 strcpy(MGr.vexs[3].date.introduce,"  迎湖桃源旅游度假中心位于高淳县城南的永胜圩内,占地面积1600多亩,其中三分之二为水面。园内天旷地平、屋舍严然、环境宁静、空气清新;有良田美池、阡陌交通;夹岸桃柳、花红叶绿;荷池飘香、鱼蟹满塘、水乡风情浓郁。自2000年开发以来,已建有苏源会议中心、钟山宾馆迎湖会议中心、桃源鱼庄、湖滨渔村、蟹文化展馆、蒂姆户外拓展基地等会议休闲场所,是集旅游观光、会议培训、垂钓休闲、水上娱乐、农事参与为一体的休闲度假区,是国家AA级旅游景区,2005年争创成为全国农业旅游示范点。荡过铁索桥,穿插过桃花林,就可以到达一条桃花掩映的长堤。长堤东边,固城湖碧波荡漾,花山、秀山在远处宛如淡墨留痕,可谓之“世外桃源”。迎湖桃源是在联合国“2814”项目渔场基础上兴建,景区建设注重发挥永胜圩独特的生态资源优势,着重体现鲜明的水产特色,区内名特优产品十分丰富,而且有全国首家通过有机产品认证的有机螃蟹养殖基地,有3000米藕蟹养殖风光带。迎湖桃源是人间仙境,迎湖桃源是世外胜境,她欢迎各位游客前来旅游观光,休闲度假。 ");
 
 MGr.vexs[4].num=4;
 strcpy(MGr.vexs[4].date.name,"银林生态农业园");
 strcpy(MGr.vexs[4].date.number,"004");
 strcpy(MGr.vexs[4].date.introduce," 银林生态农业园位于国家级生态示范县南京市高淳县,是国家AA级旅游景区,地处国家AA级景区、省级森林公园游子山南麓,距宁高高速公路出口处五公里,位于芜太一级公路青山段,距南京市区一小时车程,离南京禄口国际机场五十公里。本区总占地面积600余亩,其中天然水面百余亩,香樟林、竹林、茶园、蔬菜生长基地四百余亩。目前下设餐饮部、会议中心、客房中心、桑拿中心、垂钓中心、马场、农趣园、珍禽养殖、孔雀园、农产品深加工基地等各类特色生态农业旅游项目。区内环境宁静,空气清新;良田美池,阡陌交通;香樟林立,竹海情深;鸟雀清脆,农家风情浓郁。工作之余,驱车而至,踏着青草,穿过樟林,走进农家木屋,品尝高淳特色农家土菜和山庄野味,放飞心情,回归乡野,是体验农家生活,感受自然之美的绝佳之地! ");
 
 MGr.vexs[5].num=5;
 strcpy(MGr.vexs[5].date.name,"瑶池山庄");
 strcpy(MGr.vexs[5].date.number,"005");
 strcpy(MGr.vexs[5].date.introduce," “瑶池生态之旅”风光带位于桠溪镇西北部,是一处整合了丘陵生态资源而形成的集观光休闲、娱乐度假、生态农业为一体的农业综合旅游观光景区,也是南京最长的自驾游景区。区内“生态之旅”观光道路全长48公里,起伏跌宕、蜿蜒曲折,盘旋于顾陇、瑶宕、穆家庄、蓝溪、桥李、荆山村之间,区域面积达2.5万亩,涵盖了瑶池、桥李两大观光园区和大官塘、早园竹基地、黑桃皇后大蓬葡萄园、有机茶叶园、瑶池瓜子基地、桃花村、天地戏台、状元山、兴地农果园、台钓基地、荆山竹海等众多景点,区内景色自然天成,质朴秀美,并将民间传说、文化古迹、自然风光有机结合,充分彰显了桠溪得天独厚的生态特色。“瑶池生态之旅”风光带时而依山傍水,时而穿林越山,沿途郁郁葱葱,鸟语花香,尽显田园风光、山林情趣,不但能让游客领略到登山揽胜、赏竹观松、抓鸡摘梨的乐趣,更能让游客感受到四季瓜果香,把酒话桑麻的农家风情,它是一条融人文景观、自然景观和农事参与的生态之旅、文化之旅,更是一条富民强镇的希望之路。 ");
 
 MGr.vexs[6].num=6;
 strcpy(MGr.vexs[6].date.name,"桥李生态农业村");
 strcpy(MGr.vexs[6].date.number,"006");
 strcpy(MGr.vexs[6].date.introduce," 桥李生态农业村位于高淳县桠溪镇西北部溧水、溧阳、高淳三县交界处的丘陵山区。全村总面积8.2平方公里,拥有7个村民小组,11个自然村,782户,总人口2583人,其中,农业劳动力1465人。全村有水田3500亩,林地2775亩,其中有机茶叶基地1000亩、早园竹250亩、黄花梨150亩、青枣50亩、杉木及国外松1325亩。有水库两座,精养水面1000亩。村里下属南京桥李贸易有限公司1个、建安公司1个、万只养鸭场2个、千头养猪场1个、百头养鹿基地1个、苗圃花木场1个、茶厂1个。全村有100立方米的沼气池两个、小型沼气池100个,用沼气的农户达200户;安装太阳能200多个。行政村到各自然村水泥路相通,总长25公里。村内绿树成荫,山水相依,环境优美。2003年农民人均收入达5498元,村级集体收入达105万元。近年来,被评为市“文明村”、“百强村”,县“有功单位”和省生态农业示范村。 村内山清水秀,风光宜人,有“世外桃源”之美称。近年来,随着生态观光农业的发展,按照农业体验区、游客休憩区的功能布局,围绕生态村的要求,村里先后建起了千亩有机茶叶基地、茶厂、千亩早园竹基地、优质果树基地、花木苗圃基地、吊瓜基地、千头养猪场、百头养鹿基地、万只养鸭基地、垂钓基地、古戏台及张巡纪念馆等景点,同时还有游客农事参与区及跳马灯等自娱自乐区。除了景点外,村里乡土文化资源也极为丰富:有跳五猖、狮子舞、舞龙、小马灯、荡旱船、唱春歌等。旅游土特产品有:吊瓜籽、早园竹(鲜笋、干笋)、云溪食品系列(盐酱鸭、乳鸽、酱鹅、香鹅等)、鹿产品系列(鹿茸酒等)、有机茶叶、草莓、葡萄、豆腐干、梅干菜系列、蒜菜、欢团、布鞋、羽毛扇等。农家土菜富有特色。 ");
 
 MGr.vexs[7].num=7;
 strcpy(MGr.vexs[7].date.name," 高墩村");
 strcpy(MGr.vexs[7].date.number,"007");
 strcpy(MGr.vexs[7].date.introduce,"  高墩村位于高淳县阳江镇,享有“三十里荷花香”及“鱼米之乡”的美称,是高淳县“经济特色村”和“省级生态村”,2004年竞标成为南京市首批“旅游农家乐村”。村内已开发形成了“千亩莲藕基地”、“千亩螃蟹基地”、“水生蔬菜基地”、“稻田养鸭基地”,是都市人品农家菜、赏农村景的水乡风情园。");
 
 MGr.vexs[8].num=8;
 strcpy(MGr.vexs[8].date.name,"遥远的乡村小屋");
 strcpy(MGr.vexs[8].date.number,"008");
 strcpy(MGr.vexs[8].date.introduce,"弱弱的说一下:那是我家! ");
 
  for(i=1;i<=T;i++)
    {
       for(j=1;j<=T;j++)
       {
          MGr.edges[i][j]=MAXCOST;
       }
    }
   for(i=1;i<=T;i++)
   {
      shortest[i][i]=0;
   }  /*初始化*/
   MGr.edges[1][2]=MGr.edges[2][1]=14;
   MGr.edges[1][5]=MGr.edges[5][1]=5;
   MGr.edges[1][3]=MGr.edges[3][1]=13;
   MGr.edges[2][8]=MGr.edges[8][2]=20;
   MGr.edges[5][7]=MGr.edges[7][5]=10;
   MGr.edges[7][8]=MGr.edges[8][7]=14;
   MGr.edges[6][7]=MGr.edges[7][6]=11;
   MGr.edges[3][4]=MGr.edges[4][3]=18;
   MGr.edges[4][6]=MGr.edges[6][4]=9;
   MGr.edges[1][1]=MGr.edges[2][2]=MGr.edges[3][3]=MGr.edges[4][4]=0;
   MGr.edges[5][5]=MGr.edges[6][6]=MGr.edges[7][7]=MGr.edges[8][8]=0;
}

void introduce()
{
     int n;
     cout<<"请输入查询景点编号:"<<endl;
     cin>>n;
     switch(n)
     {
              case 1:
                   cout<<"景点编号:"<<MGr.vexs[1].date.number<<"景点名称:"<<MGr.vexs[1].date.name;
                   cout<<"景点简介:"<<MGr.vexs[1].date.introduce<<endl;
                   break;
              case 2:
                   cout<<"景点编号:"<<MGr.vexs[2].date.number<<"景点名称:"<<MGr.vexs[2].date.name;
                   cout<<"景点简介:"<<MGr.vexs[2].date.introduce<<endl;
                   break;
              case 3:
                   cout<<"景点编号:"<<MGr.vexs[3].date.number<<"景点名称:"<<MGr.vexs[3].date.name;
                   cout<<"景点简介:"<<MGr.vexs[3].date.introduce<<endl;
                   break;
              case 4:
                   cout<<"景点编号:"<<MGr.vexs[4].date.number<<"景点名称:"<<MGr.vexs[4].date.name;
                   cout<<"景点简介:"<<MGr.vexs[4].date.introduce<<endl;
                   break;
              case 5:
                   cout<<"景点编号:"<<MGr.vexs[5].date.number<<"景点名称:"<<MGr.vexs[5].date.name;
                   cout<<"景点简介:"<<MGr.vexs[5].date.introduce<<endl;
                   break;
              case 6:
                   cout<<"景点编号:"<<MGr.vexs[6].date.number<<"景点名称:"<<MGr.vexs[6].date.name;
                   cout<<"景点简介:"<<MGr.vexs[6].date.introduce<<endl;
                   break;
              case 7:
                   cout<<"景点编号:"<<MGr.vexs[7].date.number<<"景点名称:"<<MGr.vexs[7].date.name;
                   cout<<"景点简介:"<<MGr.vexs[7].date.introduce<<endl;
                   break;
              case 8:
                   cout<<"景点编号:"<<MGr.vexs[8].date.number<<"景点名称:"<<MGr.vexs[8].date.name;
                   cout<<"景点简介:"<<MGr.vexs[8].date.introduce<<endl;
                   break;
              default:
                   cout<<"输入序号错误。";
                      break;
                      }
}
void floyd()
{
   int i,j,k;
   for(i=1;i<=T;i++)
   {
     for(j=1;j<=T;j++)
     {
       shortest[i][j]=MGr.edges[i][j];
       path[i][j]=0;
     }
   }   /*初始化数组*/
   for(k=1;k<=T;k++)
   {
      for(i=1;i<=T;i++)
      {
         for(j=1;j<=T;j++)
         {
            if(shortest[i][j]>(shortest[i][k]+shortest[k][j]))
            {
               shortest[i][j]=shortest[i][k]+shortest[k][j];
               path[i][j]=k;
      path[j][i]=k;/*记录经过的路径*/
            }//end_if
         }
      }
   }//end_for
}
void display(int i,int j)
{/* 打印两个景点的路径及最短距离 */
 int a,b;
 a=i;
 b=j;
 cout<<"您要查询的两景点间最短路径是:/n/n";
 if(shortest[i][j]!=MaxVertexNum)
 {
 if(i<j)
 {
 cout<<b;
 while(path[i][j]!=0)
 {/* 把i到j的路径上所有经过的景点按逆序打印出来*/
  cout<<"<-"<<path[i][j];
  if(i<j)
   j=path[i][j];
   else
    i=path[j][i];
    }
 cout<<"<-"<<a;
 cout<<"/n/n";
 cout<<a<<"->"<<b<<"最短距离是"<<shortest[a][b]<<"千米"<<"/n/n";
 }
 else
  {
   cout<<a;
   while(path[i][j]!=0)
   {/* 把i到j的路径上所有经过的景点按顺序打印出来*/
    cout<<"->"<<path[i][j];
    if(i<j)
     j=path[i][j];
     else
      i=path[j][i];
      }
      cout<<"->"<<b;
      cout<<"/n/n";
      cout<<a<<"->"<<b<<"最短距离是:"<<shortest[a][b]<<"千米/n/n"<<endl;
      }
      }
      else
       cout<<"输入错误!不存在此路!/n/n";
  }/*display*/
int shortestdistance()
{/*要查找的两景点的最短距离*/
 int i,j;
 cout<<"请输入要查询的两个景点的编号(1->8的数字编号并用' '间隔):";
 cin>>i>>j;
 if(i>T||i<=0||j>T||j<0)
 {
 cout<<"输入信息错误!/n/n";
 cout<<"  请输入要查询的两个景点的编号(1->8的数字编号并用' '间隔):/n";
 cin>>i>>j;
 }
 else
 {
 floyd();
 display(i,j);
 }
 return 1;
}/*shortestdistance*/


 
void main()
{
      char k;
   init();
      cout<<"*******************************************************************/n";
      cout<<"*                                                                 */n";
      cout<<"*                                                                 */n";
      cout<<"*                      欢迎使用校园导游咨询                       */n";
      cout<<"*                                                                 */n";     
      cout<<"******************************************************************/n";
   while(1)
   {
      cout<<"1.景点信息查询请按 i 键/n";
      cout<<"2.景点最短路径查询请按 s 键/n";
      cout<<"3.退出系统请按 e 键/n";
      cout<<"请选择服务:";
      cin>>k;
  
      switch(k)
      {
        case 'i':
             cout<<"景点简介查询(请输入1~8)。";
    introduce();
             break;
        case 's':
             cout<<"景点最短路径查询。";
             shortestdistance();
             break;
        case 'e':
              exit(0);
          
       }
   }
system("pause");
}


原创粉丝点击