实验报告校园导游咨询
题目:编制一个为来访客人进行最短路径导游的程序
一、要求分析
.从厦门大学漳州校区的平面图中选取个有代表性的景点,抽象成一个无向带权图。以图中顶点表示景点,边上的权值表示两地之间的距离。
.本程序的目的是为用户提供路径咨询。根据用户指定的始点和终点输出相应路径,或者根据用户指定的景点输出景点的信息。
二、程序设计
、主程序初始化时写入图的一些相关信息,包括图的顶点和两点间的距离。
、程序设计如下:
主程序:
() {
();
;
()
{ ("")清屏
("厦门大学漳州校区导游系统\");
("\.景点信息查询………请按 \");
("\.景点最短路径查询…请按 \");
("\.退出系统……………请按 \");
("\学校景点列表:\");
("\:学校北门");
(":学校南门");
(":体育馆");
(":嘉庚楼\");
(":嘉庚学院");
(":宿舍楼");
(":中部生活区");
(":食堂\");
("\:学校宾馆");
(":芙蓉湖\");
("\请选择服务:");
("\");
()
{
'':
("\进入景点信息查询:");
();
("\按任意键继续。。");
();
();
;
'':
("\进入最短路径查询:");
();
("\按任意键继续。。");
();
();
;
'':
();
:
("\输入信息错误! 请输入字母或或.\");
("\按任意键继续。。");
();
();
;
}
}
}
景点介绍的子程序:
()
{*景点介绍*
;
("\\请输入您想查询的景点编号:");
("");
();
("\");
()
{
:
(":学校北门\\ 方便北区学生进出。\\");
:
(":学校南门\\ 学校的正门。\\");
:
(":体育馆\\ 内设游泳馆,对面是操场,学生运动的集中场所。\\"); :
(":嘉庚楼\\ 学校的教学楼,其中嘉庚三是图书馆。\\");
:
(":嘉庚学院\\ 厦大的一个私立学院。\\"); :
(":宿舍楼\\ 公寓式的学生宿舍,设施完备。\\"); :
(":食堂\\ 学校最大的食堂。\\");
:
(":中部生活区\\ 新建成的食堂,宿舍,教学楼。\\"); :
(":学校宾馆\\ 环境优雅,其中一楼是食堂。\\\");
:
(":芙蓉湖\\ 学校最漂亮的风景之一。\\");
:
("景点编号输入错误!请输入>的数字编号!\\"); ;
}
}
求最短路径的子程序:
()
{*要查找的两景点的最短距离*
;
("\\请输入要查询的两个景点的编号,并用','间隔:");
("");
(><><)
("\输入信息错误!\\");
{
();
();
}
;
}
()
{*用算法求两个景点的最短路径*
;
(<)
(<)
{
[][][][];
[][];
}
(<)