题目6:校园导游咨询 实验类型(验证/设计/创新):设计 学时:16 课程设计内容: 设计一个校园导游程序,为来访的客人提供各种信息查询服务。要求: 4.设计上海工程技术大学的校园平面图,所含景点不少于10个。各景点信息包括代号、名称、简介等信息。 5.为来访客人提供图中任意景点相关信息的查询(利用不同的遍历方法)。 6.为来访客人提供图中任意景点的问路查询,即查询任意两个景点之间的一条最短的简单路径。 课程设计要求: 熟练掌握最短路径的求解方法;能够运用最短路径的求解方法实现校园导游咨询;理解复杂数据对象在计算机中的存储形式。 重点难点: 【本课程设计重点】校园平面图的存储和最短路径的求解方法。 【本课程设计难点】最短路径求解算法的实现。
#include
#include
#include
#include
#define INF 0x3f3f3f3f;
#define n 10
using namespace std;
const int max_v=50;
int path[max_v][max_v];
typedef struct
{
char name[20];
char code[20];
char intro[100];
}DataType;
typedef struct
{
int num;
DataType data;
}View;
typedef struct
{
View view[max_v];
int pl[max_v][max_v];
int vexnum,arcnum;
}AMGraph;
void DisplayTu(){
printf("***------------------学校平面图--------------------***\n\n");
printf("*** 实训楼(2) ***\n");
printf("*** 交通工程中心(10)--------| |---------行政楼(3) ***\n");
printf("*** | 图书馆(1) | ***\n");
printf("*** 第二图文中心(9) | | ***\n");
printf("*** | 教学楼(5) | ***\n");
printf("*** | | | ***\n");
printf("*** 体育馆(8) | | ***\n");
printf("*** | | | ***\n");
printf("*** | ---------东操场(4) ***\n");
printf("*** ---食堂(7)---三期宿舍(6)-------------| ***\n\n");
printf("***------------------------------------------------***\n\n");
system("pause");
system("cls");
}
void init(AMGraph &AM){
int i=1;
AM.view[i].num=i;
strcpy(AM.view[i].data.code,"1");
strcpy(AM.view[i].data.name,"图书馆");
strcpy(AM.view[i].data.intro,"图书馆馆迎门而立,俯瞰国道,是学校的标志性建筑.");
i++;
AM.view[i].num=i;
strcpy(AM.view[i].data.code,"2");
strcpy(AM.view[i].data.name,"实训楼");
strcpy(AM.view[i].data.intro,"位于图书馆前,中央立着国旗,使其威严庄重.");
i++;
AM.view[i].num=i;
strcpy(AM.view[i].data.code,"3");
strcpy(AM.view[i].data.name,"行政楼");
strcpy(AM.view[i].data.intro,"这是学校做高的一栋楼,是老师们办公的地方.");
i++;
AM.view[i].num=i;
strcpy(AM.view[i].data.code,"4");
strcpy(AM.view[i].data.name,"东操场");
strcpy(AM.view[i].data.intro,"这里是锻炼的地方,可以在这里玩橄榄球,足球等");
i++;
AM.view[i].num=i;
strcpy(AM.view[i].data.code,"5");
strcpy(AM.view[i].data.name,"教学楼");
strcpy(AM.view[i].data.intro,"是同学们上课学习的地方.");
i++;
AM.view[i].num=i;
strcpy(AM.view[i].data.code,"6");
strcpy(AM.view[i].data.name,"三期宿舍");
strcpy(AM.view[i].data.intro,"这里主要是女生们住的地方");
i++;
AM.view[i].num=i;
strcpy(AM.view[i].data.code,"7");
strcpy(AM.view[i].data.name,"食堂");
strcpy(AM.view[i].data.intro,"这里是学生老师吃饭的地方,有很多的美食.");
i++;
AM.view[i].num=i;
strcpy(AM.view[i].data.code,"8");
strcpy(AM.view[i].data.name,"体育馆");
strcpy(AM.view[i].data.intro,"这里是学校上体育课的地方,同时也是各种赛事的举办地方.");
i++;
AM.view[i].num=i;
strcpy(AM.view[i].data.code,"9");
strcpy(AM.view[i].data.name,"第二图文中心");
strcpy(AM.view[i].data.intro,"这里拥有大量的图书,同时也是全校的卡务中心.");
i++;
AM.view[i].num=i;
strcpy(AM.view[i].data.code,"10");
strcpy(AM.view[i].data.name,"交通中心");
strcpy(AM.view[i].data.intro,"这里主要是电子电气学院的学生做实验的地方,同时也有许多老师的办公室.");
for(int j=1;jAM.view[i].data.code;
cin>>AM.view[i].data.name;
cin>>AM.view[i].data.intro;
printf("修改成功!\n\n");
}
}
system("pause");
system("cls");
}
void Query(AMGraph AM){
printf("欢迎查询景点信息!\n");
Display(AM);
printf("请输入要查询的景点的代号:\n\n");
char q[20];
cin>>q;
for(int i=1;i
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?