校园导游Word文档格式.docx

上传人:b****3 文档编号:6500281 上传时间:2023-05-06 格式:DOCX 页数:27 大小:563.69KB
下载 相关 举报
校园导游Word文档格式.docx_第1页
第1页 / 共27页
校园导游Word文档格式.docx_第2页
第2页 / 共27页
校园导游Word文档格式.docx_第3页
第3页 / 共27页
校园导游Word文档格式.docx_第4页
第4页 / 共27页
校园导游Word文档格式.docx_第5页
第5页 / 共27页
校园导游Word文档格式.docx_第6页
第6页 / 共27页
校园导游Word文档格式.docx_第7页
第7页 / 共27页
校园导游Word文档格式.docx_第8页
第8页 / 共27页
校园导游Word文档格式.docx_第9页
第9页 / 共27页
校园导游Word文档格式.docx_第10页
第10页 / 共27页
校园导游Word文档格式.docx_第11页
第11页 / 共27页
校园导游Word文档格式.docx_第12页
第12页 / 共27页
校园导游Word文档格式.docx_第13页
第13页 / 共27页
校园导游Word文档格式.docx_第14页
第14页 / 共27页
校园导游Word文档格式.docx_第15页
第15页 / 共27页
校园导游Word文档格式.docx_第16页
第16页 / 共27页
校园导游Word文档格式.docx_第17页
第17页 / 共27页
校园导游Word文档格式.docx_第18页
第18页 / 共27页
校园导游Word文档格式.docx_第19页
第19页 / 共27页
校园导游Word文档格式.docx_第20页
第20页 / 共27页
亲,该文档总共27页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

校园导游Word文档格式.docx

《校园导游Word文档格式.docx》由会员分享,可在线阅读,更多相关《校园导游Word文档格式.docx(27页珍藏版)》请在冰点文库上搜索。

校园导游Word文档格式.docx

char*info;

//该弧的相关信息

};

template<

classT>

struct_MGraph{

Tvexs[MAX_VERTEX_NUM];

ArcCellarcs[MAX_VERTEX_NUM][MAX_VERTEX_NUM];

intvexnum;

intarcnum;

intkind;

typedefintPathMatrix_1[MAX_VERTEX_NUM][MAX_VERTEX_NUM];

//路径矩阵,二维数组

typedefintShortPathTable[MAX_VERTEX_NUM];

//最短距离表,一维数组

typedefintPathMatrix_2[MAX_VERTEX_NUM][MAX_VERTEX_NUM][MAX_VERTEX_NUM];

//3维数组

typedefintDistancMatrix[MAX_VERTEX_NUM][MAX_VERTEX_NUM];

//2维数组

classMGraph{

public:

_MGraph<

T>

mgraph;

boolvisited[MAX_VERTEX_NUM];

voidCreateGraph();

//v是图的顶点集vr是图的边集//构造函数

//voidDestroyGraph();

//析构函数销毁图

intLocateVex(Tu);

//图存在,图中存在顶点u则返回该顶点在图中的位置

boolCreateUDN();

//构造无向网

bool(*VisitFunc)(Tv);

//访问顶点v的方式

voidShortestPath_DIJ(intv0,PathMatrix_1&

P,ShortPathTable&

D);

voidShortestPath_FLOYD(PathMatrix_2&

P,DistancMatrix&

voidMGraph<

:

CreateGraph()//ok

{

CreateUDN();

}

boolMGraph<

CreateUDN()//ok

//构造无向网

inti,j,w;

Tv1,v2;

cout<

<

"

请输入景点的个数,路径边的个数:

"

;

cin>

>

mgraph.vexnum>

mgraph.arcnum;

请输入各个景点"

for(i=0;

i<

mgraph.vexnum;

i++)

//构造顶点向量

{

cin>

mgraph.vexs[i];

}

i++)

//初始化邻接矩阵

for(j=0;

j<

j++)

{

if(i==j)

mgraph.arcs[i][j].adj=0;

else

mgraph.arcs[i][j].adj=infinity;

mgraph.arcs[i][j].info=false;

}

mgraph.arcnum;

//构造邻接矩阵

cout<

请输入一条路径边依附的两个景点点,权值:

v1>

v2>

w;

intm=LocateVex(v1);

intn=LocateVex(v2);

mgraph.arcs[m][n].adj=w;

//<

v1,v2>

mgraph.arcs[n][m].adj=w;

v2,v1>

mgraph.kind=1;

returntrue;

intMGraph<

LocateVex(Tu)//ok

for(inti=0;

MAX_VERTEX_NUM;

if(u==mgraph.vexs[i])

returni;

return-1;

//#endif

ShortestPath_FLOYD(PathMatrix_2&

D)

//用Floyd算法求有向网G中各对顶点v和w之间的最短路径P[v][w]及其带权长度D[v][w]

//若P[v][w][u]为TRUE,则u是从v到w当前求得最短路径上的顶点。

{

intu,v,w,i;

for(v=0;

v<

v++)

//各对结点之间初始已知路径及距离

for(w=0;

w<

w++)

D[v][w]=mgraph.arcs[v][w].adj;

//顶点v到顶点w的直接距离

for(u=0;

u<

u++)

{

P[v][w][u]=false;

//路径矩阵初值

}

if(D[v][w]<

infinity)

//从v到w有直接路径

P[v][w][v]=P[v][w][w]=true;

//由v到w的路径经过v和w两点

for(u=0;

for(v=0;

for(w=0;

if(D[v][u]+D[u][w]<

D[v][w])

//从v经u到w的一条路径更短

{

D[v][w]=D[v][u]+D[u][w];

//更新最短距离

for(i=0;

{

P[v][w][i]=P[v][u][i]||P[u][w][i];

//从v到w的路径经过从v到u和从u到w的所有路径

}

}

MGraph<

g;

voidWelcome()//欢迎函数

﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏"

endl;

欢迎光临南通大学"

﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏﹏"

南通大学计算机科学与技术学院"

校园导航系统为你服务"

制作人:

system("

pause"

);

cls"

voidGoodbye()

感谢您的使用,再见!

voidMap()//校园平面图函数

这是南通大学的校园平面图!

╔══════════════════════════════════════╗"

║南通大学校园平面图║"

║↑北║"

║←→╔══╗║"

║↓║北门║║"

║┏━━━━━━┓╚══╝║"

║┃┃┊║"

║┃西操场┃┊┏━━━━┓║"

║┃┃┏━━━━┓┊┃二食堂┃║"

║┃┃┃综合楼┃┄┊┈┈┈┃┃┈┊║"

║┗━━━━━━┛┗━━━━┛┊┗━━━━┛┊║"

║┆┏━━┓┊┊┊║"

║╔═╗┏━━━┓┃超市┃┊┊┊║"

║║西║┃一食堂┃┗━━┛┊┊┊║"

║║门║┃┃┊┊┊┊║"

║╚═╝┗━━━┛┊┏━━━━━━━━━┓┏━━┓║"

║┆┊┃┃英语角║"

║┏━┳━━┓┄┃图书馆┃┃┃║"

║┃┃教┃┄┄┄┄┄┊┃┃┗━━┛║"

║┃┃学┃┊┗━━━━━━━━━┛║"

║┃┃楼┃┏━━━━┓┊┏━━━━━┓║"

║┃┃1-4┃┃计算机楼┃┏━━━━━━━━━┓┈┃教学楼6-9┃║"

║┃┃┃┃方肇周楼┃┃┃┃┃║"

║┗━┻━━┛┗━━━━┛┃湖┃┃┃║"

║┊┊┃┃┗━━━━━┛║"

║┊┊┃┃║"

║┊┊┗━━━━━━━━━┛║"

║┏━━━┓┊║"

║┃纺化楼┃┊╔═══╗║"

║┃┃┄┄┄┄┄┄║南门║║"

║┗━━━┛╚═══╝║"

╚══════════════════════════════════════╝"

欢迎来到美丽的南通大学主校区!

StartGuide();

voidStartGuide()//开始导航函数

charchoice;

-------------------------"

A.查看校园平面图"

B.查询最短路径"

C.查询景点信息"

D.退出导航系统"

请输入你要进行的操作:

choice;

switch(choice)

case'

A'

Map();

break;

B'

Short_Floyd();

break;

C'

system("

SearchInformation();

}break;

D'

Goodbye();

default:

cout<

你的输入有误"

voidAdminister()

A.添加新的景点,即输入整个校园导航图。

B.返回导航主页。

请输入你想进行的操作:

AddPoint();

Select();

system("

Administer();

voidInputPassword()

intm=0;

stringpassword;

stringc;

CLS"

ifstreaminfile("

password.txt"

infile>

c;

while(m<

3)

请输入登录密码:

password;

if(c==password)

cout<

----------------------------"

密码正确进入管理系统"

自动跳转中..."

else

-------------------"

密码错误!

还有"

2-m<

次机会"

m++;

voidAddPoint()

请创建校园导游图."

g.CreateGraph();

Select();

intopekind;

voidopeshow()

*菜单*"

1.创建景点图(数组存储结构)"

2.每一对景点之间的最短路径"

3.退出"

请选择操作:

voidShort_Floyd()

{MGraph<

PathMatrix_2p;

DistancMatrixd;

inti,j,k;

opeshow();

opekind;

while(opekind>

0&

&

opekind<

4)

if(opekind==1)

请选择有向网"

elseif(opekind==2)

g.ShortestPath_FLOYD(p,d);

//求每对顶点间的最短路径

各景点点最短距离路径的矩阵:

for(i=0;

g.mgraph.vexnum;

for(j=0;

cout<

d[i][j]<

cout<

if(i!

=j)

//避免同一顶点之间距离的输出

cout<

g.mgraph.vexs[i]<

到"

g.mgraph.vexs[j]<

的最短距离为:

游园路线:

{//避免同一顶点之间距离的输出

由"

经过:

for(k=0;

k<

k++)

if(p[i][j][k]==1)

cout<

g.mgraph.vexs[k]<

}//for

else

程序运行结束,Bye-Bye!

break;

}//if

opeshow();

}//while

Goodbye();

voidSearchInformation()

选择你想查询的景点名称."

A.西操场。

B.一食堂。

C.教育超市。

D.综合楼。

E.图书馆。

F.计算机楼。

G.纺化楼。

H.湖。

I.二食堂。

J.英语角。

请选择."

正在查询请稍后..."

Sleep(3000);

西操场是同学们活动最多的操场,是运动会举行的地方."

case'

一食堂,吃饭的地方."

超市,同学们一般的生活用品都可以买到,不过比较贵."

综合楼,街舞社一般在此活动."

E'

图书馆,期中期末的时候想找到一个位置太难了."

F'

计算机楼,现教中学的所在地,又称方肇周楼."

G'

纺化楼,纺院学生上课的地方."

H'

湖,学校里最美的地方."

I'

二食堂,吃饭的地方."

J'

英语角,早晨可以听到朗朗读书声."

default:

StartGuide();

voidSelect()

╔═══════════╗"

║A.导航使用者║"

║B.系统管理员║"

║C.退出此系统║"

╚═══════════╝"

请选择你的操作:

StartGuide();

In

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2