广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C++实现校园导游系统
  • 341
分享到

C++实现校园导游系统

2024-04-02 19:04:59 341人浏览 安东尼
摘要

本文实例为大家分享了c++实现校园导游系统的具体代码,供大家参考,具体内容如下 校园导游系统 问题描述:设计一个校园导游程序,完成校园信息的维护以及为来访的客人提供信息查询等服务功能

本文实例为大家分享了c++实现校园导游系统的具体代码,供大家参考,具体内容如下

校园导游系统

问题描述:设计一个校园导游程序,完成校园信息的维护以及为来访的客人提供信息查询等服务功能。

基本要求:

设计学校的校园平面图,所含景点不少于10个,以图中顶点表示校内各景点,顶点的信息包括:景点名称、代号、简介等,以边表示道路,边上信息包括:两点距离、所需时间等相关信息。(注:数据的输入可以是键盘输入或文件输入两种方式)
提供对校园景点信息的编辑(如:添加、删除、修改等)的功能;
为来访客人提供图中任意景点相关信息的查询(可提供多种查询方式);
为来访客人提供从校门口到图中任意景点的问路查询(最短路径);
为来访客人提供图中任意景点间的问路查询。

#include<iOStream>
using namespace std;
int main()
{    
     int n;
     const int MAX=1000;
     static int r [MAX][MAX]={
         {0,100,20,200,MAX,MAX,MAX,MAX,MAX,MAX},
        {100,0,MAX,80,MAX,MAX,MAX,90,MAX,MAX},
        {20,MAX,0,MAX,MAX,MAX,200,MAX,MAX,MAX},
        {200,80,MAX,0,40,MAX,MAX,70,MAX,50},
        {MAX,MAX,MAX,40,0,300,MAX,MAX,MAX,60},
        {MAX,MAX,MAX,MAX,300,0,50,MAX, MAX,MAX},
        {MAX,MAX,200,MAX,MAX,50,0,MAX,MAX,400},
        {MAX,90,MAX,70,MAX,MAX,MAX,0,50,50},
        {MAX,MAX,MAX,MAX,MAX,MAX,MAX,50,0,70},
        {MAX,MAX,MAX,50,60,MAX,400,50,70,0}
     };
     struct vertex
      {string name;
      int number;
      string introduction;
      }ver[MAX]={
      {"校门",0,"学校主校门"}, 
      {"体育场",1,"学校举办体育活动的地方"},
      {"六号公寓",2,"校内学生宿舍"},
      {"沉思广场",3,"大草地"},
      {"知源亭",4,"小亭子"},
      {"图书馆",5,"书的栖息地"},
      {"综合实验楼",6,"实验室云云"},
      {"大学会馆",7,"举办会议和活动的地方"},
      {"鹏远公寓",8,"鹏远学生宿舍"},
      {"工学馆",9,"主教楼"}
   };
     int b;
     for(b=0;b<1000;b++) {
         cout<<"|-----------------------------------------------------------------------------|"<<endl;
         cout<<"|                             欢迎来到校园导游系统                            |"<<endl; 
         cout<<"|                              1.管理员登陆                                   |"<<endl;
     cout<<"|                              2.游客登录                                     |"<<endl;
     cout<<"|                              3.退出校园导游系统                             |"<<endl;
     cout<<"|-----------------------------------------------------------------------------|"<<endl;
     cout<<"校园导游图:"<<endl; 
     cout<<"   8----------9--------------------------"<<endl;
     cout<<"    |        /||                        | "<<endl;
     cout<<"     |   ---/ | |                       |  "<<endl;
     cout<<"      | /     |  ---                    | "<<endl;
     cout<<"       7      |     |                   | "<<endl;
     cout<<"       | |    |      |                  | "<<endl;
     cout<<"       |  |   |       |                 |          "<<endl;
     cout<<"       |   ---3-------4--------------5  |      "<<endl;
     cout<<"       |  ---/|                       | |    "<<endl;
     cout<<"       | /    |                        ||  "<<endl;
     cout<<"       1      |                 ------- 6    "<<endl;
     cout<<"        |     |                /        "<<endl;
     cout<<"         |    |    ------------         "<<endl;
     cout<<"          |   |   /        "<<endl;
     cout<<"           |  |  /              "<<endl;
     cout<<"            | | 2    "<<endl;
     cout<<"              |/ "<<endl;      
     cout<<"              0          "<<endl;
     cout<<"景点编号:"<<endl;
     cout<<"0.校门              1.体育场"<<endl;
     cout<<"2.六号公寓          3.沉思广场"<<endl;
     cout<<"4.知源亭            5.图书馆"<<endl; 
     cout<<"6.综合实验楼        7.大学会馆"<<endl;
     cout<<"8.鹏远公寓          9.工学馆"<<endl;
     cout<<"请按对应数字选择您操作:";
     cin>>n;
    if(n==1)
    {        
        cout<<"|-----------------------------------------------------------------------------|"<<endl;
            cout<<"|                        管理员您好,欢迎来到校园导游系统                     |"<<endl; 
        cout<<"|                              1.添加校园景点信息                             |"<<endl;
        cout<<"|                              2.删除校园景点信息                             |"<<endl;
            cout<<"|                              3.修改校园景点信息                             |"<<endl;
        cout<<"|-----------------------------------------------------------------------------|"<<endl;
        cout<<"请输入您将要进行的编辑操作编号:";
        int a;
        cin>>a;
        if(a==1){
        cout<<"请输入你将要添加的校园景点编号:";
        int m;
        cin>>m;
        ver[m].number=m;
        cout<<"请输入你将要添加的校园景点的名称:";
        string x;
        cin>>x;
        ver[m].name=x; 
        cout<<"请输入你将要添加的校园景点的介绍:";
        string y;
        cin>>y;
        ver[m].introduction=y;
        cout<<"添加成功~" <<endl; 
        }
        if(a==2){
            cout<<"请输入你将要删除的校园景点编号:";
            int m;
            cin>>m;
            ver[m]=ver[MAX-1];
            cout<<"删除成功~"<<endl;
        }
        if(a==3){
        cout<<"请输入你将要修改的校园景点编号:"; 
        int m;
        cin>>m;
        cout<<"你将要修改的景点信息如下:"<<endl;
        cout<<"景点名称:"<<ver[m].name<<endl;
        cout<<"景点介绍:"<<ver[m].introduction<<endl;
        cout<<"请输入修改后的景点名称:";
        string x;
        cin>>x;
        ver[m].name=x;
        cout<<"请输入修改后的景点介绍信息:";
        string y;
        cin>>y;
        ver[m].introduction=y;
        cout<<"修改成功~"<<endl;
        }
            
            
    } 
    else if(n==2)
        {
            cout<<"|-----------------------------------------------------------------------------|"<<endl;
            cout<<"|                         游客您好,欢迎来到校园导游系统                      |"<<endl; 
        cout<<"|                              1.查询校园景点信息                             |"<<endl;
        cout<<"|                              2.校门问路查询                                 |"<<endl;
            cout<<"|                              3.任意景点问路查询                             |"<<endl;
        cout<<"|-----------------------------------------------------------------------------|"<<endl;
        cout<<"请按对应数字选择您所需要的服务:";
        int o;
        cin>>o;
    
    switch(o) 
    {
        case 1:{cout<<"查询校园景点信息"<<endl<<"请输入所要查询的景点号码:";
        int m;
        cin>>m;
        cout<<"景点名称:"<<ver[m].name<<endl;
        cout<<"景点介绍:"<<ver[m].introduction<<endl;    
        }break;
        case 2:{
        cout<<"校门问路查询"<<endl;
        cout<<"请输入您想要到达的目的地:";
        static int x=0;
        static int y;
        cin>>y; 
        cout<<"最短路径为:" ;
     static int u;
     static int v;
     static int w;
     static int i;
     int t;
     static int s[MAX];
     static int D[MAX][MAX];
     static bool P[10][10][10];
     for(v=0;v<10;v++)
     for(w=0;w<10;w++){
         D[v][w]=r[v][w];
         for(u=0;u<10;u++) P[v][w][u]=0;
         if(D[v][w]<MAX){
             P[v][w][v]=1;P[v][w][w]=1;
         }
     }
     for(u=0;u<10;u++)
     for(v=0;v<10;v++)
     for(w=0;w<10;w++)
     if(D[v][u]+D[u][w]<D[v][w]){
         D[v][w]=D[v][u]+D[u][w];
         for(i=0;i<10;i++)
         P[v][w][i]=P[v][u][i]||P[u][w][i];
     }
      int q=0;
     for(t=0;t<10;t++)
     if(P[x][y][t]==true) {
         s[q]=t;
         q++;
     }
     int d;
     int h;
     int f[10]={100};
     static int l=0;
     int z=x;
     for(d=0;d<q-1;d++)
     for(h=0;h<q;h++)
     if(D[z][s[h]]==r[z][s[h]]&&D[z][s[h]]>0&&s[h]!=f[l]){
       cout<<z<<"-->";
       l=l+1;
       f[l]=z;
     z=s[h];
     break;
     }
     cout<<y;
     cout<<"这两个地点间的最短距离为"<<D[0][y]<<"m"<<endl;
     cout<<"从所在地步行到目的地约用时为"<<D[0][y]/80.0<<"min"<<endl;
     
        }break;
        case 3:{cout<<"任意景点问路查询"<<endl<<"请输入您现在所在的地点";
        static int x;
        cin>>x;
        cout<<"请输入您想要到的地点";
        static int y;
        cin>>y;
        cout<<"最短路径为:" ;
     static int u;
     static int v;
     static int w;
     static int i;
     int t;
     static int s[MAX];
     static int D[MAX][MAX];
     static bool P[10][10][10];
     for(v=0;v<10;v++)
     for(w=0;w<10;w++){
         D[v][w]=r[v][w];
         for(u=0;u<10;u++) P[v][w][u]=false;
         if(D[v][w]<MAX){
             P[v][w][v]=true;P[v][w][w]=true;
         }
     }
     for(u=0;u<10;u++)
     for(v=0;v<10;v++)
     for(w=0;w<10;w++)
     if(D[v][u]+D[u][w]<D[v][w]){
         D[v][w]=D[v][u]+D[u][w];
         for(i=0;i<10;i++)
         P[v][w][i]=P[v][u][i]||P[u][w][i];
     }
     int q=0;
     for(t=0;t<10;t++)
     if(P[x][y][t]==true) {
         s[q]=t;
         q++;
     }
     int d;
     int h;
     int f[10]={100};
     static int l=0;
     int z=x;
     for(d=0;d<q-1;d++)
     for(h=0;h<q;h++)
     if(D[z][s[h]]==r[z][s[h]]&&D[z][s[h]]>0&&s[h]!=f[l]){
       cout<<z<<"-->";
       l=l+1;
       f[l]=z;
     z=s[h]; 
     break; 
     }
     cout<<y;
     cout<<"这两个地点间的最短距离为"<<D[x][y]<<"m"<<endl;
     cout<<"从所在地步行到目的地约用时为"<<D[x][y]/80.0<<"min"<<endl;
        
        }break;
 
    }
    }
    else {cout<<"感谢使用校园导游系统"<<endl;
        exit(0);    
    }
    
     }
} 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: C++实现校园导游系统

本文链接: https://www.lsjlt.com/news/142825.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C++实现校园导游系统
    本文实例为大家分享了C++实现校园导游系统的具体代码,供大家参考,具体内容如下 校园导游系统 问题描述:设计一个校园导游程序,完成校园信息的维护以及为来访的客人提供信息查询等服务功能...
    99+
    2022-11-13
  • C语言实现校园导游系统
    本文实例为大家分享了C语言实现校园导游系统的具体代码,供大家参考,具体内容如下 前言 这是大二上学期刚学数据结构完成的课设项目,里面的功能还可以进一步的完善,仅供分享、参考、记录使用...
    99+
    2022-11-13
  • C++实现简单校园导游系统
    本文实例为大家分享了C++实现校园导游系统的具体代码,供大家参考,具体内容如下 #include <iostream> #include <stdio.h> ...
    99+
    2022-11-13
  • C++如何实现校园导游系统
    这篇文章主要介绍“C++如何实现校园导游系统”,在日常操作中,相信很多人在C++如何实现校园导游系统问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C++如何实现校园导游系统”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-06-29
  • 如何使用C语言实现校园导游系统
    这篇文章主要介绍了如何使用C语言实现校园导游系统,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。设计目的中国地大物博,文化底蕴颇深,旅游资源更是丰富多彩,也越来越流行“大学打卡...
    99+
    2023-06-29
  • 如何使用C++实现简单校园导游系统
    小编给大家分享一下如何使用C++实现简单校园导游系统,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!具体内容如下#include <iostream...
    99+
    2023-06-29
  • C++基于Floyd算法实现校园导航系统
    本文实例为大家分享了C++基于Floyd算法实现校园导航系统的具体代码,供大家参考,具体内容如下 首先是配置文件 //文件名'MGraph.h' //用途:创建邻接矩阵 #inclu...
    99+
    2022-11-13
  • Java基于Dijkstra算法实现校园导游程序
    本文实例为大家分享了Dijkstra算法实现校园导游程序的具体代码,供大家参考,具体内容如下 应用设计性实验 1.问题描述 校网导游程序: 一个校园有若干景点,如正校门、人工湖、磁悬...
    99+
    2022-11-13
  • Java怎么实现的具有GUI的校园导航系统
    小编给大家分享一下Java怎么实现的具有GUI的校园导航系统,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!java基本数据类型有哪些Java的基本数据类型分为:1...
    99+
    2023-06-14
  • Java实现的具有GUI的校园导航系统的完整代码
    目录0.写在前面1.客户端与服务端2.主界面3.管理员菜单4.一般用户的操作菜单5.后记0.写在前面 2020-5-18更新 这个东西已经是两年前的了,现在问我具体细节我也不是很清楚...
    99+
    2022-11-12
  • 校园失物招领系统设计与实现
        项目背景和意义 目的:本课题主要目标是设计并能够实现一个基于web网页的失物招领网站系统,整个网站项目使用了B/S架构,基于java的springboot框架下开发;管理员通过后台录入信息、管理信息,设置网站信息,管理会员信息...
    99+
    2023-09-24
    java 开发语言
  • Java怎么实现校园外卖点餐系统
    这篇文章主要介绍“Java怎么实现校园外卖点餐系统”,在日常操作中,相信很多人在Java怎么实现校园外卖点餐系统问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java怎么实现校园外卖点餐系统”的疑惑有所帮助!...
    99+
    2023-06-29
  • 怎么用Java实现校园跑腿管理系统
    这篇文章主要介绍“怎么用Java实现校园跑腿管理系统”,在日常操作中,相信很多人在怎么用Java实现校园跑腿管理系统问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么用Java实现校园跑腿管理系统”的疑惑有所...
    99+
    2023-06-26
  • Java实战之校园外卖点餐系统的实现
    目录一、项目简述二、效果图展示三、核心代码管理员controller控制层管理员角色controler控制层后台登录控制层订单模块controller控制层一、项目简述 环境配置: ...
    99+
    2022-11-13
  • Java 实战范例之校园二手市场系统的实现
    一、项目简述( +IW文档) 功能:本系统分用户前台和管理员后台。 本系统用例模型有三种,分别是游客、注册用户和系统管 理员。下面分别对这三个角色的功能进行描述: 1) 诞 游客是未...
    99+
    2022-11-12
  • Java实战项目之校园跑腿管理系统的实现
    前端使用的是vue+elementui,这款系统只适合学习巩固SpringBoot+VUE,后面还要在这上面加校园公告、校园零食等功能,后期代码我也会持续更新上去。系统分为管理员和学...
    99+
    2022-11-13
  • Java中如何进行校园一卡通系统的实现
    这篇文章的内容主要围绕Java中如何进行校园一卡通系统的实现进行讲述,文章内容清晰易懂,条理清晰,非常适合新手学习,值得大家去阅读。感兴趣的朋友可以跟随小编一起阅读吧。希望大家通过这篇文章有所收获!一、项目简述(+需求文档+PPT)功能:卡...
    99+
    2023-06-29
  • 校园共享洗衣小程序系统设计与实现
          项目背景和意义 目的:本课题主要目标是设计并能够实现一个基于微信校园洗衣小程序系统,前台用户使用小程序,小程序使用微信开发者工具开发;后台管理使用基PP+MySql的B/S架构,开发工具使用phpstorm;通过后台录入服...
    99+
    2023-09-02
    小程序 微信小程序
  • 如何基于C# GIS实现校园电子地图
    这篇文章主要介绍“如何基于C# GIS实现校园电子地图”,在日常操作中,相信很多人在如何基于C# GIS实现校园电子地图问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何基于C# GIS实现校园电子地图”的疑...
    99+
    2023-06-17
  • Java毕业设计实战之校园一卡通系统的实现
    一、项目简述(+需求文档+PPT) 功能:卡管理,卡消费,卡充值,图书借阅,消费,记录,注销等等功能。 二、项目运行 环境配置: Jdk1.8 + Tomcat8.5 + mysql...
    99+
    2022-11-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作