C++校园导游系统课程设计.doc

上传人:大米 文档编号:522492940 上传时间:2023-10-22 格式:DOC 页数:14 大小:242.18KB
返回 下载 相关 举报
C++校园导游系统课程设计.doc_第1页
第1页 / 共14页
C++校园导游系统课程设计.doc_第2页
第2页 / 共14页
C++校园导游系统课程设计.doc_第3页
第3页 / 共14页
C++校园导游系统课程设计.doc_第4页
第4页 / 共14页
C++校园导游系统课程设计.doc_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《C++校园导游系统课程设计.doc》由会员分享,可在线阅读,更多相关《C++校园导游系统课程设计.doc(14页珍藏版)》请在金锄头文库上搜索。

1、DONGFANG COLLEGE,FUJIAN AGRICULTURE AND FORESTRY UNIVERSITYC+程序设计课程设计报告课程设计: 校园导游系统 系 别: 计算机系 年 级: 10级 专 业: 计算机科学与技术 班 级: 1班 学 号: 姓名: 成 绩: 任课教师: 2012 年 8 月 20 日目录1.需求分析 3.概要设计.33.详细设计.34.使用说明.35.测试结果.46.附录57.参考文献14 1. 需求分析设计一个校园导游程序,为来访的客人提供各种信息查询服务。2. 概要设计(1) 设计你所在学校的校园平面图,所含景点不少于10个。以图中顶点表示校内各景点,存

2、放景点名称、代号、简介等信息;以边表示路径,存放路径长度等相关信息。(2)为来访客人提供图中任意景点相关信息的查询。(3)为来访客人提供图中任意景点的问路查询,即查询任意两个景点之间的一条最短的简单路径。3. 详细设计1. 以输出流显示校园的界面2. 以图的形式存储校园景点3. 以循环算法运行操作界面4. 以函数调用实现导游功能界面显示函数图的存储主函数实现功能4. 使用说明1. 运行时显示校园景观图,同时显示选择菜单2. 选择菜单:1.地点介绍 2.最短路径 3.结束 “请选择功能”3. 地点介绍:出现景点选择:A.操场 B.偏门 C.图书馆 D.大门 E.食堂 F.诚智楼 G.博学楼 H.

3、创新楼 I.海天楼 J.明德楼 请选择地点(选择加回车即能查询景点信息)4. 最短路径:出现“输入起点位置”,输入后即出现“输入终点位置”(输入加回车即显示两景点的最短路径)5. 测试结果1. 运行界面2. 地点介绍3. 最短路径6. 附录1. 校园景观图实现函数:void viewshow()cout 东方学院实景图endl;coutendl;cout A操场-B偏门endl;cout / endl;cout / endl;cout C图书馆-D大门 E食堂-endl;cout / endl;cout / F诚智楼-G博学楼-H创新楼endl;cout / /endl;cout I海天楼-J

4、明德楼endl;coutendl;2. 建立图函数:#includeSeqList.h#includeSeqQueue.hconst int MaxVertices=10;const int MaxWeight=10000;class AdjMWGraphprivate:SeqList Vertices;/顶点信息的线性表int EdgeMaxVerticesMaxVertices;int numOfEdges;public:AdjMWGraph(const int sz=MaxVertices); int GraphEmpty( )constreturn Vertices.ListEmpty

5、( );int NumOfVertices(void)return Vertices.ListSize( );int NumOfEdges(void)return numOfEdges;VerT GetValue(const int i);int GetWeight(const int v1,const int v2);void InsertVertex(const VerT &vertex);void InsertEdge(const int v1,const int v2,int weight);void DeleteVertex(const int i);void DeleteEdge(

6、const int v1,const int v2);int GetFirstNeighbor(const int v);int GetNextNeighbor(const int v1,const int v2);void DepthFirstSearch(const int v,int visited,void visit(VerT item); void BroadFirstSearch(const int v,int visited,void visit(VerT item); void DepthFirstSearch(void visit(VerT item);void Broad

7、FirstSearch(void visit(VerT item); AdjMWGraph:AdjMWGraph(const int sz)for(int i=0; isz; i+)for(int j=0; jsz; j+)if(i = j) Edgeij=0;else Edgeij=MaxWeight;numOfEdges=0;VerT AdjMWGraph:GetValue(const int i)if(iVertices.ListSize()cerr参数i越界出错!endl;exit(1);return Vertices.GetData(i);int AdjMWGraph:GetWeig

8、ht(const int v1,const int v2)if(v1Vertices.ListSize()|v2Vertices.ListSize()cerr参数v1或v2越界出错!endl;exit(1);return Edgev1v2;void AdjMWGraph:InsertVertex(const VerT &vertex)Vertices.Insert(vertex,Vertices.ListSize();void AdjMWGraph:InsertEdge(const int v1,const int v2,int weight)if(v1Vertices.ListSize()|

9、v2 Vertices.ListSize()cerr参数v1或v2越界出错!endl;exit(1);Edgev1v2=weight;numOfEdges+;void AdjMWGraph:DeleteVertex(const int v)for(int i=0;iVertices.ListSize();i+)for(int j=0;j0 &EdgeijMaxWeight)Edgeij=MaxWeight;numOfEdges-;Vertices.Delete(v);void AdjMWGraph:DeleteEdge(const int v1,const int v2)if(v1Vertic

10、es.ListSize()|v2Vertices.ListSize()|v1=v2)cerr参数v1或v2出错!endl;exit(1);Edgev1v2=MaxWeight;numOfEdges-;int AdjMWGraph:GetFirstNeighbor(const int v)if(vVertices.ListSize( )cerr参数v1越界出错!endl;exit(1);for(int col=0;col0&EdgevcolMaxWeight) return col;return -1;int AdjMWGraph:GetNextNeighbor(const int v1,con

11、st int v2)if(v1Vertices.ListSize()|v2Vertices.ListSize()cerr参数v1或v2越界出错!endl;exit(1);for(int col=v2+1; col0&Edgev1colMaxWeight)return col;return -1; void AdjMWGraph:DepthFirstSearch(const int v,int visited,void visit(VerT item)visit(GetValue(v);visitedv=1;int w=GetFirstNeighbor(v);while(w!=-1)if(!visitedw)DepthFirstSearch(w,visited,visit);w=GetNextNeighbor(v,w);

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

最新文档


当前位置:首页 > 建筑/环境 > 建筑节能

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