ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

MFC实现交通咨询系统

2022-07-31 02:03:26  阅读:193  来源: 互联网

标签:MFC 交通工具 路径 信息 终点 交通 咨询 顶点 交通图


MFC实现交通咨询系统

以某真实地区为数据源(自己选择),模拟一个类似百度或者高德的交通图导航系统。

背景描述:

伴随人们的生活节奏加快,汽车的数量陡增,由此引发的交通拥挤问题也日益明显。为此,世界各国都开始投入人力物力对交通系统进行研究。面对拥堵的交通,一款智能的交通导航系统能在指导人们出行的同时,在一定程度上也能缓解当前拥挤的交通现状。为了深化同学们对图的学习,本系统通过对基于时间依赖的最短路径查询的研究,设计与实现高效的导航系统,为人们出行提供重要指导。

数据分析:

地图信息:保存在文件中,包括各个地区的基本信息,路线信息等;
交通工具信息:包括运行时间信息、交通工具信息,例如:起始时间、结束时间信息等;
需求分析:
导航系统的基本功能有:实现地图的模拟,向地图中添加、删除、修改、查找地点信息、路线信息,查找起点和终点之间的最优路径。

功能分析

界面设计
a. 界面要求可以进行交互,要求实现图形界面而不是简单的控制台应用,界面要求美观、布局合理,符合用户使用习惯。
b. 界面可以体现出与用户的交互过程。
c. 可视化系统(QT、MFC等),根据交通工具的选择可视化交通路线。
添加、删除、修改、查看地点或者路线信息,并在可视化部分同步显示出来。
选择不同的交通工具,查看起点和终点之间的最优路径,同步显示路径长度,并用特定的颜色把路径标识出来。(交通工具:公交、地铁、公交与地铁混合乘坐)
获取当前系统时间以及目标交通工具的运行时刻表。
实现鼠标选择功能,即用鼠标完成路线信息查看、起点和终点的选择等。

需求分析

语言:C++
框架:MFC(实现交通图的图形化展现)

交通图编辑功能

采用文件存储交通图信息,从易读性考虑,采用文本格式存储数据,数据含每个顶点的信息和每条边的权重信息,另外顶点信息中包含图显示时候的X,Y坐标位置。考虑到能可视化编辑交通图(添加删除顶点和边信息,以及调整顶点的位置,修改顶点和边的信息等),因此需要额外做一个交通图编辑界面,在此界面可以创建新的顶点,创建新的边,以及删除不要的顶点和边,最重要的是支持鼠标选择某个顶点,将该顶点安置到其他位置,所有信息编辑好后,选择编辑菜单的保存功能,会把修改后的交通图信息重新保存到文件。

交通图编辑功能展现

交通图导航系统-创建.gif

交通图查询功能

读取文件中的图信息,构建邻接矩阵,采用迪杰斯特拉算法计算单源最短路径。考虑到用户界面的友好化设计,因此设计了一个起点的下拉框列表和一个终点的下拉框列表,用户从下拉框列表中选择起点和终点后,再选择按路程或是耗时查询,即可将路径在交通图中高亮显示,同时为了进一步提升用户体验,支持鼠标点击起点,再点击终点,就能高亮显示起点和终点之间的路径。

交通图查询功能展现

交通图导航系统-查询.gif

源码下载

链接:https://pan.baidu.com/s/1xmkQRFLmCrwWc9EY9qM4Gg?pwd=1111
提取码:1111

标签:MFC,交通工具,路径,信息,终点,交通,咨询,顶点,交通图
来源: https://www.cnblogs.com/codewriter/p/16536308.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有