校园导游系统[新版]

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

校园导游系统[新版]

校园导游系统

// 校园导游咨询

/*[问题描述]

设计一个校园导游程序,为来访的客人提供各种信息查询服务。

[基本要求]

(1)设计你的学校的校园平面图,所含景点不少于10个。以图中顶点表示校内各景点,存放景点名称、代号、简介等信息;以边表示路径,存放路径长度等相关信息。

(2)为来访客人提供图中任意景点相关信息的查询。 (3)为来访客人提供图中任意景点的问路查询,即查询任意两个景点之间的一条最短的简单路径。

[实现提示]

一般情况下,校园的道路是双向通行的,可设校园平面图是一个无向网。顶点和边均含有相关信息。

一需求分析

1从武汉理工大学余家头校区平面图中选取10个大家熟悉的景点,抽象成一个无向带权图(如图所示)。以图中顶点表示景点,边上的权值表示两地的距离。

2本程序的目的是为用户提供路径咨询和景点查询。根据用户指定的始点和终点输出相应路径或者根据用户指定的景点输出景点的信息。

二、概要设计

1本文采用的数据结构

*/

/*包含头文件*/

// 数据结构课程设计.cpp : 定义控制台应用程序的入口点。

//

#include "stdafx.h"

#include

#include //定义符号常量 #define INT_MAX 10000 #define n 10 //定义全局变量 int cost[n][n];// 边的值 int shortest[n][n];//两点间的最短距离

int path[n][n];// 经过的景点 void introduce(); //自定义函数原型说明int shortestdistance(); void floyed();

void display(int i,int j); /*

(1)景点信息查询

(2)两景点的最短距离 (3)两个景点之间的路径

三、详细设计 */

void main() //主函数 {

int i,j;

char k;

for(i=0;i<=n;i++)

for(j=0;j<=n;j++)

cost[i][j]=INT_MAX;

cost[1][3]=cost[3][1]=200;

cost[1][2]=cost[2][1]=50;

cost[2][3]=cost[3][2]=150;

cost[2][4]=cost[4][2]=120;

cost[1][4]=cost[4][1]=150;

cost[4][5]=cost[5][4]=80;

cost[4][9]=cost[9][4]=120;

cost[5][9]=cost[9][5]=220;

cost[5][7]=cost[7][5]=180;

cost[5][6]=cost[6][5]=90;

cost[6][7]=cost[7][6]=50;

cost[7][8]=cost[8][7]=70;

cost[8][6]=cost[6][8]=130;

cost[1][1]=cost[2][2]=cost[3][3]=cost[4][4]=cost[5][5]=0;

cost[6][6]=cost[7][7]=cost[8][8]=cost[9][9]=cost[10][10]=0;

while(1)

{

printf("----------------欢迎使用中原工学院校园导游系统!----------------\n");

printf("1.景点信息查询………请按 i (introduc)键\n");

printf("2.景点最短路径查询…请按 s (shortestdistance)键\n");

printf("3.退出系统……………请按 e (exit)键\n");

printf("学校景点列表:\n");

printf("1:学校正门 ");

printf("2:图书馆 ");

printf("3:行政楼");

printf("4:体育馆 "); printf("5:操场\n"); printf("6:北苑宿舍楼群 "); printf("7:北苑餐厅 "); printf("8:紫薇广场 "); printf("9:滴水涌泉 ");

printf("10:南苑操场\n"); printf("请选择服务:"); scanf("\n%c",&k); switch(k)

{

case 'i':

printf("进入景点信息查询:"); introduce();

break;

case 's':

printf("进入最短路径查询:"); shortestdistance(); break;

case 'e':

exit(0);

default:

printf("输入信息错误~\n请输入字母i或s或e.\n");

break;

}

}

}/*main*/

void introduce() {/*景点介绍*/

int a;

printf("您想查询哪个景点的详细信息?请输入景点编号:");

scanf("%d",&a);

getchar();

printf("\n");

switch(a)

{

相关文档
最新文档