没有合适的资源?快使用搜索试试~ 我知道了~
MFC校园网最短路径设计
5星 · 超过95%的资源 需积分: 15 64 下载量 12 浏览量
2011-06-28
19:36:04
上传
评论 3
收藏 251KB DOC 举报
温馨提示
试读
13页
采用Visual C++6.0中基于框架窗口的应用程序开发方法,结合Dijkstra算法思想,分析并实现了校园站点网中任意两个指定的起点和终点间的最短路径长度及路线的求解。
资源推荐
资源详情
资源评论
《面向对象方法》课程报告
校园站点网最短路径的分析与实现
摘 要:本文采用 中基于框架窗口的应用程序开发方法,结合
算法思想,分析并实现了校园站点网中任意两个指定的起点和终点间的
最短路径长度及路线的求解。
关键词:校园;最短路径;面向对象方法;框架窗口
Campus Sites Network Analysis and Implementation
of the shortest path
Abstract:
! ! "!
!!
Key words:campus;shortest path;obeject-oriented approach;
序言
近年来,由于国家政策的允许,一些院校纷纷合并;随着“#$$工程”的进展,
许多高校正在或即将改造、扩建老校区或兴建新校区,校园道路变得错综复杂。
再加上学校后勤社会化、服务化,校园里出现了饮食、医疗、百货、洗浴等服
务行业,使学校成为一个小型城市,这给学校的管理带来很大的困难
%$&
。同时,
随着高校对外的逐步开放,许多来访客人面对硕大的校园,也需要一个能给予
实际帮助的“电子导游”,因此,寻找两个地点之间的道路,确定一条从一个位
置到另一个位置的最短路径尤其重要。
本文采用 中基于框架类的应用程序开发方法
%# '&
,结合
算法思想
%(&
,分析并实现了校园站点网中任意两个指定的起点和终点间的最短
路径长度及路线的求解。
$ 需求分析
$$关键技术
$$$) 应用程序的编写
是由 *+ 公司推出的功能强大的可视化集成开发环境。它提
供了软件代码自动生成和可视化的资源编辑功能,可以使用户充分利用具有面
向对象特性的 语言来开发基于 ) 的应用程序。
提供了两种编写 ) 应用程序的途径:
一 种 是 直 接 调 用 底 层 )'# 应 用 程 序 接 口 ( ,-!!
.,,-.)函数,用 或 编写 ) 应用程序;也是本文所采用的
途径。
另一种是利用 */,用 编写 ) 应用程序。
$$#绘图
0$1图形设备接口 2.
) 操作系统是一种与设备无关的操作系统,因此 ) 应用程序
$
《面向对象方法》课程报告
在与外设打交道时无须考虑具体的硬件设置。) 操作系统是通过相应的
功能模块来实现设备无关性的,图形备接口02.,2.1就是
这样的一种功能模块。当 ) 应用程序需要在图形输出设备0显示器、打印
机、绘图仪1上输出图形时,通过图形设备接口词用图形输出设备的驱动程序来
完成输出过程。2. 的功能由一系列的 2. 函数分工实现,这些 2. 函数已被封
装在加的 类及其派生类中。
0#1设备描述表
设备描述表03,1是用来实现绘图功能的一种数据结构。包
含了诸如画笔、画刷、映射模式等一系列绘图属性项。应用程序可调用相应的
2.函数来修改设备描述表中的属性项以满足不同绘图任务的需要,而调用 2.
函数绘制具体图形时,图形设备接口将根据设备描述表的规定,连接图形设备
的驱动程序来完成具体的绘图工作。各种设备描述表 也已被封装到 类
及其派生类中。
0'1 类体系
类及其派生类构成了 类体系。
类即设备描述表类031,其基类为4。为适应
不 同 的 绘 图 要 求 , 提 供 派 生 类 - 、 . 、 ) 和
*/。 类体系封装了各种设备描述表及各种 2. 函数,因此使用
类体系可完成各种复杂的绘图工作。
类及其派生类的功能如下:
5
设备描述表类的基类,能实现所有基本的绘图操作。
5-
的派生类,响应 )*6-,.7 消息以实现绘图操作。
5
的派生类,实现用户区内的直接绘图操作,例如用鼠标绘图。
5)
的派生类,实现整个窗 80包括用户区与非用户区1的绘图操作。
5*/
的派生类,专用于实现图元文件的绘图操作。
0(1绘图工具类
绘图用到的工具有画笔、画刷、位图等,*/ 提供的绘图工具类封装了这
些绘图工具。绘图工具类有:
524
绘图工具类的基类,一般不直接使用。
5-
24 的派生类,用以生成画笔对象。
59
24 的派生类,用以生成画刷对象。
59
24 的派生类,用以生成位图对象,其成员函数 :9 用以装载
位图。
应用程序中要用到哪种绘图工具,就用对应的绘图工具类生成相应的对象,
然后词用 的成员函数 ;4 将其选入设备描述表中,使其生效
%<&
。
#
《面向对象方法》课程报告
$$'基于消息的事件驱动
%&
在 ) 操作环境中,) 应用程序采用“基于消息的事件驱动”运
行机制,这是它与过去的面向过程的应用程序机制的不同之处。其原理图如图
$ 所示。
图 $事件驱动原理图
当开始执行一个) 应用程序时,)为该应用程序创建一个消
息队列,当事件发生之后(例如,当用户单击鼠标、改变窗口尺寸、按下键盘
上的一个键等),) 将事件转换为一个消息,并将消息放入相应的应用
程序消息队列中,应用程序从消息队列中检索这些消息,并把它们发送到相应
的窗口中处理,完成消息的响应。这个过程一直持续,直到程序的结束。
$#校园站点网模型的建立
求图的最短路径问题包括两点:一是求图中某一顶点到其余各顶点的最短
路径,二是求图中每对顶点之间的最短路径。通常的最短路径算法,往往是建
立在抽象的数学模型之上,即网络模型。要对校园道路网进行最短路径的分析,
首先必须将现实中的校园道路网实体化为网络图论理论中的网络图。在这种网
络模型上,实际的路径被抽象为网络中的一条边,实际路径的长度与网络边的
长度可以不成比例,以边的权值来表征路径的特征,例如路径的长度、路径步
行所耗时间等
%=&
。
校园站点网是一个无向加权连通图,一个顶点表示一个站点,顶点之间的
边表示这两个站点之间有道路相连,边上的权值表示连接这两个站点之间的道
路的长度
%>&
。以重庆邮电大学为例,建立校园站点网如图 # 所示。
'
数 图
门 口
口
二 教
学 楼
口
新 校
门 口
口
中 心
食 堂
口
<
##
(
$
'
=
剩余12页未读,继续阅读
meyzong
- 粉丝: 0
- 资源: 3
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页