iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C++如何实现校园导游系统
  • 254
分享到

C++如何实现校园导游系统

2023-06-29 13:06:21 254人浏览 泡泡鱼
摘要

这篇文章主要介绍“c++如何实现校园导游系统”,在日常操作中,相信很多人在C++如何实现校园导游系统问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C++如何实现校园导游系统”的疑惑有所帮助!接下来,请跟着小编

这篇文章主要介绍“c++如何实现校园导游系统”,在日常操作中,相信很多人在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);        }         }}

到此,关于“C++如何实现校园导游系统”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

--结束END--

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

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

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

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

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

下载Word文档
猜你喜欢
  • c语言怎么计算字符串长度
    在C语言中,可以使用内置的strlen()函数来计算字符串的长度。该函数位于string.h头文件中。以下是一个示例代码: #inc...
    99+
    2024-05-14
    c语言
  • c语言怎么判断三个数的大小
    可以通过比较三个数之间的大小关系来判断它们的大小。以下是一个示例代码: #include <stdio.h> int ...
    99+
    2024-05-14
    c语言
  • c++排序函数sort怎么使用
    在C++中,使用sort函数对容器中的元素进行排序,可以按照默认的升序排列,也可以自定义排序规则。 下面是一个简单的例子,对一个ve...
    99+
    2024-05-14
    c++
  • c++中string的compare函数怎么使用
    在C++中,可以使用string的compare函数来比较两个string对象的大小。该函数的原型如下: int compare(c...
    99+
    2024-05-14
    c++
  • c++中string的compare函数有什么用
    c++中string的compare函数用于比较两个字符串的大小关系。该函数返回一个整数值,表示两个字符串的比较结果。 具体来说,如...
    99+
    2024-05-14
    c++
  • c++中print函数的功能有哪些
    在C++中,通常使用std::cout来进行输出操作,而不是使用print函数。std::cout是C++标准库中的一个输出流对象,...
    99+
    2024-05-14
    c++
  • c语言数据结构怎么使用
    在C语言中,数据结构可以通过定义结构体来实现。以下是一些常见的数据结构的使用方法示例: 链表: #include <std...
    99+
    2024-05-14
    c语言
  • c++中print函数的用法是什么
    在C++中没有内置的print函数,但可以使用cout来输出内容到控制台。cout是C++标准库中的一个输出流对象,可以使用<...
    99+
    2024-05-14
    c++
  • c++中concept的用法是什么
    在C++20中,Concept是一种新的语言特性,用于定义类型要求和约束。Concept可以被用来约束函数模板、类模板和普通函数的参...
    99+
    2024-05-14
    c++
  • c++中concept的作用是什么
    在C++中,concept的作用是定义一种通用的约束,用于限制模板参数的类型范围。通过使用concept,可以在编译时对模板参数进行...
    99+
    2024-05-14
    c++
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作