欢迎来到天天文库
浏览记录
ID:55709297
大小:167.50 KB
页数:9页
时间:2020-05-26
《校园导游系统.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、校园导游系统 [问题描述]设计一个校园导游程序,为来访的客人提供各种信息查询服务[基本要求](1)设计你的学校的校园平面图,所含景点不少于10个。以图中顶点表示校内各景点,存放景点名称、代号、简介等信息;以边表示路径,存放路径长度等相关信息。(2)为来访客人提供图中任意景点相关信息的查询。(3)为来访客人提供图中任意景点的问路查询,即查询任意两个景点之间的一条最短的简单路径。[实现提示]一般情况下,校园的道路是双向通行的,可设校园平面图是一个无向网。顶点和边均含有相关信息。一、需求分析1、从我校平面图中选取10个大家熟悉的
2、景点,抽象成一个无向带权图。以顶点表示景点,边上的权值表示两地的距离;2、本程序的目的是为用户提供以下两种功能:a、景点查询:根据用户指定的景点输出景点的信息;b、路径咨询:根据用户指定的始点和终点输出相应路径及最短距离。3、程序运行先输出导航菜单和景点列表,用户通过输入i、s或e选择服务,其中i和s分别是景点查询和路经查询,e为退出系统;4、景点查询及路经查询锁输入的景点编号必须是1到10,除此之外即为错误输入。二、概要设计1、本文采用的数据结构*//*包含头文件*/#include#include3、rocess.h>/*定义符号常量*/#defineINT_MAX10000/*定义景点最短距离范围*/#definen10/*定义景点数量*//*定义全局变量*/intcost[n][n];/*边的值*/intshortest[n][n];/*两点间的最短距离*/intpath[n][n];/*经过的景点*//*自定义函数原型说明*/voidintroduce();/*景点介绍函数*/intshortestdistance();/*最短路径函数*/voidfloyed();/*利用floyed算法求最短路径函数*/voi4、ddisplay(inti,intj);/*输出路径函数*/2、本程序有三大模块:(1)主函数:主要输出导航主菜单和景点列表菜单,并储存已知最短距离voidmain(){inti,j;chark;system("color1B");for(i=0;i<=n;i++)for(j=0;j<=n;j++)a、最短距离cost[i][j]=INT_MAX;cost[1][3]=cost[3][1]=2;cost[2][3]=cost[3][2]=1;cost[2][4]=cost[4][2]=2;cost[3][10]=cost[5、10][3]=4;cost[1][10]=cost[10][1]=4;cost[2][10]=cost[10][2]=4;cost[4][10]=cost[10][4]=4;cost[1][4]=cost[4][1]=5;cost[4][5]=cost[5][4]=3;cost[4][9]=cost[9][4]=4;cost[5][9]=cost[9][5]=8;cost[5][7]=cost[7][5]=4;cost[5][6]=cost[6][5]=2;cost[6][7]=cost[7][6]=1;cost[7][86、]=cost[8][7]=3;cost[8][6]=cost[6][8]=4;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;b、输出主菜单while(1){printf("----------------欢迎使用地质大学导游系统!----------------");printf("1.景点信息查询………请按i(introduc)键7、");printf("2.景点最短路径查询…请按s(shortestdistance)键");printf("3.退出系统……………请按e(exit)键");printf("---------------------------------------------------------");c、输出景点列表菜单printf("--------------------学校景点列表-------------------------");printf("1:学校东门");printf("2:大学生活动中心"8、);printf("3:地大隧道");printf("4:三食堂");printf("5:体育馆");printf("6:图书馆");printf("7:信息实验中心");printf("8:主楼");printf("9:弘毅堂");printf("10:教三楼");printf("--
3、rocess.h>/*定义符号常量*/#defineINT_MAX10000/*定义景点最短距离范围*/#definen10/*定义景点数量*//*定义全局变量*/intcost[n][n];/*边的值*/intshortest[n][n];/*两点间的最短距离*/intpath[n][n];/*经过的景点*//*自定义函数原型说明*/voidintroduce();/*景点介绍函数*/intshortestdistance();/*最短路径函数*/voidfloyed();/*利用floyed算法求最短路径函数*/voi
4、ddisplay(inti,intj);/*输出路径函数*/2、本程序有三大模块:(1)主函数:主要输出导航主菜单和景点列表菜单,并储存已知最短距离voidmain(){inti,j;chark;system("color1B");for(i=0;i<=n;i++)for(j=0;j<=n;j++)a、最短距离cost[i][j]=INT_MAX;cost[1][3]=cost[3][1]=2;cost[2][3]=cost[3][2]=1;cost[2][4]=cost[4][2]=2;cost[3][10]=cost[
5、10][3]=4;cost[1][10]=cost[10][1]=4;cost[2][10]=cost[10][2]=4;cost[4][10]=cost[10][4]=4;cost[1][4]=cost[4][1]=5;cost[4][5]=cost[5][4]=3;cost[4][9]=cost[9][4]=4;cost[5][9]=cost[9][5]=8;cost[5][7]=cost[7][5]=4;cost[5][6]=cost[6][5]=2;cost[6][7]=cost[7][6]=1;cost[7][8
6、]=cost[8][7]=3;cost[8][6]=cost[6][8]=4;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;b、输出主菜单while(1){printf("----------------欢迎使用地质大学导游系统!----------------");printf("1.景点信息查询………请按i(introduc)键
7、");printf("2.景点最短路径查询…请按s(shortestdistance)键");printf("3.退出系统……………请按e(exit)键");printf("---------------------------------------------------------");c、输出景点列表菜单printf("--------------------学校景点列表-------------------------");printf("1:学校东门");printf("2:大学生活动中心"
8、);printf("3:地大隧道");printf("4:三食堂");printf("5:体育馆");printf("6:图书馆");printf("7:信息实验中心");printf("8:主楼");printf("9:弘毅堂");printf("10:教三楼");printf("--
此文档下载收益归作者所有