校园导游系统实训报告

上传人:公**** 文档编号:548240884 上传时间:2023-06-20 格式:DOC 页数:6 大小:22KB
返回 下载 相关 举报
校园导游系统实训报告_第1页
第1页 / 共6页
校园导游系统实训报告_第2页
第2页 / 共6页
校园导游系统实训报告_第3页
第3页 / 共6页
校园导游系统实训报告_第4页
第4页 / 共6页
校园导游系统实训报告_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《校园导游系统实训报告》由会员分享,可在线阅读,更多相关《校园导游系统实训报告(6页珍藏版)》请在金锄头文库上搜索。

1、导游咨询系统1需求分析编制一个为来访客人进行最短路径导游的程序(1)从学校的平面图上选取n个有代表性的景点,根据用户指定的起点和终点输出相应路径,或根据用户指定的景点输出景点的信息。(2).为来访客人提供图中任意景点相关信息的查询。(3).为来访客人提供图中任意景点的问路查询,即查询任意两个景点之间的一条最短的简单路径。2、设计思路校园旅游模型是由景点和景点之间的路径组成的,所以这完全可以用数据结构中的图来模拟。用图的结点代表景点,用图的边代表景点之间的路径。所以首先应设计一个图类。(草稿纸)结点值代表景点信息,边的权值代表景点间的距离。结点值及边的权值用顺序表存储,所以需要设计一个顺序表类。

2、本系统需要查询景点信息和求一个景点到另一个景点的最短路径长度及路线,为方便操作,所以给每个景点一个代码,用结构体类型实现。计算路径长度和最短路线时可用弗洛伊德(Floyd)算法实现。最后用switch选择语句选择执行浏览景点信息或查询最短路径。3算法设计一、概要设计程序中包含的模块(1)主程序模块主函数:voidmain()(2)查询模块景点信息查询:void CreateUDN()(3)打印模块打印两个景点的路径及最短距离:voiddisplay()模块间的调用关系主函数main()调用:void CreateUDN()void ShortestPath()/*要查找的两景点的最短距离*/v

3、oid NextValue()void HaMiTonian() voiddisplay()/*打印两个景点的路径及最短距离*/3.2详细设计界面菜单设计:char Menu() char c; int flag; do flag=1; system(cls); narrate(); printf(ttt-1、查询景点路径-n); printf(ttt-2、查询景点信息-n); printf(ttt-3、推荐参观路线-n); printf(ttt-e、退出-n); printf(tttt请输入您的选择:); scanf(%c,&c); if(c=1|c=2|c=3|c=e) flag=0; w

4、hile(flag); return c;char SearchMenu() char c; int flag; do flag=1; system(cls); narrate(); printf(ttt-1、按照景点编号查询-n); printf(ttt-2、按照景点名称查询-n); printf(ttt-e、返回-n); printf(tttt请输入您的选择:); scanf(%c,&c); if(c=1|c=2|c=e) flag=0; while(flag); return c;void search() int num; int i; char c; char name20; do

5、system(cls); c=SearchMenu(); switch (c) case 1: system(cls); narrate(); printf(nntt请输入您要查找的景点编号:); scanf(%d,&num); for(i=0;iNUM;i+) if(num=G.vexi.number) printf(nnttt您要查找景点信息如下:); printf(nnttt%-25snn,G.vexi.description); printf(nttt按任意键返回.); getchar(); getchar(); break; if(i=NUM) printf(nnttt没有找到!);

6、 printf(nnttt按任意键返回.); getchar(); getchar(); break; case 2: narrate(); system(cls); printf(nntt请输入您要查找的景点名称:); scanf(%s,name); for(i=0;iNUM;i+) if(!strcmp(name,G.vexi.sight) printf(nnttt您要查找景点信息如下:); printf(nnttt%-25snn,G.vexi.description); printf(nttt按任意键返回.); getchar(); getchar(); break; if(i=NUM)

7、 printf(nnttt没有找到!); printf(nnttt按任意键返回.); getchar(); getchar(); break; while(c!=e);介绍景点:void CreateUDN(int v,int a) int i,j; G.vexnum=v; G.arcnum=a; for(i=0;iG.vexnum;+i) G.vexi.number=i; G.vex0.sight=行政楼; G.vex0.description=学校领导,办公室之地。; G.vex1.sight=校大礼堂; G.vex1.description=业余活动,举办各种晚会。; G.vex2.si

8、ght=5教; G.vex2.description=教室,自习室; G.vex3.sight=1教; G.vex3.description=教室,自习室; G.vex4.sight=图书馆; G.vex4.description=阅览,借阅图书,电子阅览; G.vex5.sight=第五食堂; G.vex5.description=餐饮休闲; G.vex6.sight=翠湖; G.vex6.description=欣赏休闲,放松心情; G.vex7.sight=南区食堂; G.vex7.description=餐饮休闲; G.vex8.sight=小树林; G.vex8.descriptio

9、n=晨读; for(i=0;iG.vexnum;+i) for(j=0;jG.vexnum;+j) G.arcsij.adj=Max; G.arcs01.adj=G.arcs10.adj=12; G.arcs02.adj=G.arcs20.adj=6; G.arcs03.adj=G.arcs30.adj=5; G.arcs14.adj=G.arcs41.adj=11; G.arcs24.adj=G.arcs42.adj=2; G.arcs35.adj=G.arcs53.adj=4; G.arcs57.adj=G.arcs75.adj=9; G.arcs46.adj=G.arcs64.adj=2

10、; G.arcs47.adj=G.arcs74.adj=14; G.arcs68.adj=G.arcs86.adj=7; G.arcs78.adj=G.arcs87.adj=3;要查找的两个景点的最短距离:void ShortestPath(int num) int v,w,i,t; int finalNUM; int min; for(v=0;vNUM;v+) finalv=0; Dv=G.arcsnumv.adj; for(w=0;wNUM;w+) Pvw=0; if(Dv20000) Pvnum=1; Pvv=1; Dnum=0; finalnum=1; for(i=0;iNUM;+i)

11、 min=Max; for(w=0;wNUM;+w) if(!finalw) if(Dwmin) v=w; min=Dw; finalv=1; for(w=0;wNUM;+w) if(!finalw&(min+G.arcsvw.adj)Dw) Dw=min+G.arcsvw.adj; for(t=0;tNUM;t+) Pwt=Pvt; Pww=1; 打印两个景点的路径及最短距离:void display() int i=0; printf(nnt); for(i=0;i,G.vexxi-1.sight); printf(出口); printf(n); 4、调试分析 菜单界面 景点名称 景点描述 两景点的最短路径

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 工作计划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号