文档详情

数据结构与VC编程实习--校园导航系统实习报告.doc

发布:2018-05-12约4.52千字共12页下载文档
文本预览下载声明
数据结构与VC编程实习?日 实习题目 中国石油大学(华东)青岛校区校园导航系统 一、任务描述及要求 校园导航查询系统是典型的校园导游查询系统,其设计主要根据学校的各个景点和场所所设计的导航系统。为游人观光者等外来人员提供一个直观的学校建筑景点的地理方位和景点信息,方便人们的参观和旅游。 基本要求: 合理设计窗口界面,首先构建中国石油大学校园示意图,在界面上以图形方式显示各个地点(写上名称)及连线,并在线上标记出距离,距离由操作人员设置。指定一个起点,再指定一个目的点,找最短路径。功能菜单或按钮自行设计,以合理为目的。 扩展要求: 在界面上动态显示出从起点到目的点的最短路径走法,地图可缩小、放大、移动、可显示某点的提示信息等。 基于以上要求开发而成的该校园导航系统为大家实现以下功能。 本系统为大家提供以下功能: (一),青岛校区的俯瞰平面图,以及一些重要景点的地理位置。 (二),两个景点之间的实际距离,以及景点与景点之间的最短距离,从一个景点到另一个景点的最简洁访问路径(即最短路程)。 (三),对校园内的景点实现修改功能,包括实现插入景点,删除景点,修改名称,建立新景点等一些实现功能。 注:以上功能的实现在窗口下面都有详细的操作说明,便于大家对该系统的操作。 二、概要设计 1.抽象数据类型 增加新节点的抽象数据类型定义: ADT addnewbuilding{ 数据元素m_sNewBldName m_sNewBldName是具有相同数据元素的集合 } 修改景点名称的抽象数据类型定义: ADT changename{ 数据元素m_sNewName m_sNewName是changename类中的数据成员,表示m_sNewName这一类数据的集合 } 修改两点之间权值的抽象数据类型定义: ADT changevalue{ 数据元素为整形m_NewName m_NewName是changevalue类中的新的名字的这一类元素的集合 } 放大与缩小功能抽象数据类型的定义: ADT DlgF{ 数据元素m_fx m_fx是放大倍数即放大因子 } 图类的抽象数据类型的定义: ADT Gragh{ 数据元素有dist,Edge,m_fx,nodeSize,path,shortPath,Vertex等,分别表示距离,边,放大倍数,节点数,路径,最短路径,顶点等。 数据关系有AddEdge(int idx1,int idx2,int w),增加新边,其中idx1,idx2表示两个节点,w表示两点之间的权值。AddNewNode(CString name, CPoint point),增加新节点,其中name表示该新节点的名称,point表示该节点的位置坐标。Create()表示构建函数,构建图的框架。DeleteNode(int pos),删除节点,pos表示该节点的坐标位置。Dijkstra(int v0),迪杰斯特拉DrawGraph(CDC *pDC,int begin),画图函数,一个pDc指针,begin是开始点。DrawPath(CDC *pDC,int begin),画路径函数,一个pDc指针,begin是开始点。GetPath(int idx1,int idx2),得出路径函数,idx1,idx2分别表示两节点。GetShortPath(int idx1, int idx2),得到最短路径函数,同理idx1,idx2分别表示两节点。GetWeight(int idx1, int idx2),得到权重函数,idx1,idx2分别表示两节点。IsInGraph(CPoint point),判断是否在图里的函数,point是需要判断的改点。Serialize(CArchive ar),串行化函数,ar是被串行化CArchive的对象。 } 帮助信息的抽象数据类型定义: ADT helpInfo{ 数据元素有m_fx和r等。 数据成员DrawHelp(CDC *pDC,int state),画图帮助提示函数,一个pDc指针,一个整形变量state。 } 节点类抽象数据类型定义: ADT Node{ 数据元素有index(节点索引,方便访问。),location(节点在视图中的位置。),name(节点代表的方位名称)。 数据成员有DrawNode(CDC *pDC,double m_fx),绘制该节点函数。GetIndex(),得到节点函数。GetLocation(),得到坐标位置函数。得到名称函数。IsInside(CPoint point)是判断point是否在矩形中的函数。Serialize(CArchive ar),串行化函数。ar是被串行化CArchive的对象。S
显示全部
相似文档