校园导游系统课程设计报告Word下载.docx
- 文档编号:15120467
- 上传时间:2022-10-27
- 格式:DOCX
- 页数:13
- 大小:126.93KB
校园导游系统课程设计报告Word下载.docx
《校园导游系统课程设计报告Word下载.docx》由会员分享,可在线阅读,更多相关《校园导游系统课程设计报告Word下载.docx(13页珍藏版)》请在冰豆网上搜索。
voidmain()/*主函数*/
打印菜单,景点,景点信息
定义景点之间的权值
(2)查询模块
景点信息查询:
voidintroduce()/*景点介绍*/
最短路径查询:
intshortestdistance()/*要查找的两景点的最短距离*/
voidfloyed()/*用floyed算法求两个景点的最短路径*/
(3)打印模块
打印最短路径:
voiddisplay(inti,intj)/*打印两个景点的路径及最短距离*/
2.1.3模块间的调用关系
2.2详细设计
#include<
stdio.h>
process.h>
/*自定义函数说明*/
voidintroduce();
intshortestdistance();
voidfloyed();
voiddisplay(inti,intj);
voidmain()
{
inti,j;
chark;
for(i=0;
i<
=n;
i++)
for(j=0;
j<
j++)
cost[i][j]=INT_MAX;
cost[1][7]=cost[7][1]=200;
cost[1][4]=cost[4][1]=200;
cost[4][7]=cost[7][4]=300;
cost[2][7]=cost[7][2]=400;
cost[4][10]=cost[10][4]=100;
cost[4][9]=cost[9][4]=150;
cost[4][8]=cost[8][4]=200;
cost[10][5]=cost[5][10]=50;
cost[10][9]=cost[9][10]=150;
cost[2][8]=cost[8][2]=50;
cost[2][3]=cost[3][2]=100;
cost[6][5]=cost[5][6]=150;
cost[5][9]=cost[9][5]=150;
cost[9][8]=cost[8][9]=50;
cost[8][3]=cost[3][8]=150;
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("
‖〓〓〓〓〓〓〓★欢迎使用潍坊学院导游系统!
★〓〓〓〓〓〓〓‖"
);
‖‖"
‖1.景点信息查询———————请按〖introduc〗键‖"
printf("
‖2.景点最短路径查询—————请按s〖shortestdistance〗键‖"
‖3.退出系统—————————请按e〖exit〗键‖"
‖学校景点列表:
‖"
‖1:
学校南门2:
操场3:
体育馆4:
行政楼5:
一号宿舍‖"
‖6:
二号餐厅7:
天一教学楼8:
洪德湖9:
图书馆10:
一号餐厅‖"
‖〓〓〓〓〓〓★欢迎使用潍坊学院导游系统!
★〓〓〓〓〓〓〓‖\n"
\n【请选择服务】:
"
scanf("
\n%c"
&
k);
switch(k)
case'
i'
:
进入景点信息查询:
introduce();
break;
s'
进入最短路径查询:
shortestdistance();
e'
exit(0);
default:
输入信息错误!
\n请输入字母i或s或e.\n"
}
}
inta;
请输入您想查询的景点的编号:
%d"
a);
getchar();
\n"
switch(a)
{
case1:
1:
学校南门\n 学校的正门,坐落于东风街上,气势庄严,宏伟。
\n\n"
break;
case2:
2:
操场\n 学生上体育课及运动的场地,设有田径场、足球场、篮球场等。
case3:
3:
体育馆\n 曾作为全运会的比赛场地,气势宏伟。
case4:
4:
行政楼\n 学校的行政办公楼,位于学校中心位置。
case5:
5:
一号宿舍\n 条件最好的学生宿舍,冬凉夏暖,绝对通风,漏光。
case6:
6:
二号餐厅\n 学校最大的餐厅。
case7:
7:
天一教学楼\n 学校主要教学楼之一。
case8:
8:
洪德湖\n 学校的花园,设有喷泉,假山。
case9:
9:
图书馆\n 学校信息资源中心,内设大量的自习室。
case10:
10:
一号餐厅\n 学校第二大餐厅。
景点编号输入错误!
请输入1->
10的数字编号!
}
}/*introduce*/
请输入要查询的两个景点的编号(1->
10的数字编号并用'
'
间隔):
%d,%d"
i,&
j);
if(i>
n||i<
=0||j>
n||j<
0)
请输入要查询的两个景点的编号(1->
else
floyed();
display(i,j);
return1;
}/*shortestdistance*/
inti,j,k;
for(i=1;
i++)
for(j=1;
j++)
shortest[i][j]=cost[i][j];
path[i][j]=0;
for(k=1;
k<
k++)
if(shortest[i][j]>
(shortest[i][k]+shortest[k][j]))
{/*用path[][]记录从i到j的最短路径上点j的前驱景点的序号*/
shortest[i][j]=shortest[i][k]+shortest[k][j];
path[i][j]=k;
path[j][i]=k;
}/*floyed*/
inta,b;
a=i;
b=j;
您要查询的两景点间最短路径是:
if(shortest[i][j]!
=INT_MAX)
if(i<
j)
b);
while(path[i][j]!
=0)
{/*把i到j的路径上所有经过的景点按逆序打印出来*/
<
-%d"
path[i][j]);
j=path[i][j];
else
i=path[j][i];
a);
(%d->
%d)最短距离是:
%d米\n\n"
a,b,shortest[a][b]);
{/*把i到j的路径上所有经过的景点按顺序打印出来*/
->
%5d米\n\n"
输入错误!
不存在此路!
}/*display*/
3测试结果
3.1主程序界面
根据图中提示选择要执行的操作
图1主界面
3.2输入错误
输入i,s,e来完成相应的操作,如果输入有误,系统将显示错误信息,请重新输入。
3.3景点信息的查询
输入你要查询的景点名称:
通过调用函数voidintroduce()来查询景点信息。
如果输入的景点不存在,系统会提示你输入错误,请重新输入。
图2信息查询界面
输入编号存在,则系统显示要查询的景点信息。
3.4最短路径查询
输入你所在的景
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 校园 导游 系统 课程设计 报告