基于QT实现的可视化地铁换乘查询系统
1.1 题目
上海的地铁交通网络已经基本成型,建成的地铁线十多条,站点上百个,现需建立一个换乘指南打印系统,通过输入起点和终点站,打印出地铁换乘指南,指南内容包括起点站、换乘站、终点站。
图形化显示地铁网络结构,能动态添加地铁线路和地铁站点
根据输入起点和终点站,显示地铁换乘指南
通过图形界面显示乘除路径
1.2 软件功能
功能主要功能包含地铁网络线路的查看,地铁换乘指南查询,动态添加线路站点等。
线路图查看
- 查看上海地铁网络线路图,包括通过键盘、鼠标拖放、放大缩小等简易查看操作
- 查看地铁线路信息,包括线路段、包含站点等
- 查看地铁站的详细信息,包括站点地理坐标、所属线路等
换乘指南查询
- 提供地铁换乘查询,可通过视图方便的查看乘坐路线和换乘路线
- 提供最小出行时间的换乘策略指南
- 提供最小换乘次数的换乘策略指南
动态添加线路
- 动态添加线路,可根据需要新增线路
- 动态添加站点,可根据需要新增站点
- 动态添加连接,可根据需要新增站点连接
- 文本方式简易添加,方便快捷
帮助
- 提供软件使用帮助和说明
关于
- 提供软件制作信息
上述所有功能采用面向对象的方法通过C++语言程序结合QT框架实现,后面会详细介绍。
1.3 设计思想
系统分析,明确功能要求
在做应用程序之前都会先明确软件的需求是什么,知道了要实现那些功能才能去细化用什么方法实现,实现的系统架构是什么,初步规划程序的基本流程和核心算法。在认真读题后,明确功能要求后,开始下一步操作。MVC模式系统架构
MVC模式即为模型-视图-控制器结构模式,这种软件架构模式是一种常用的设计。在本次系统结构中,大致采用此种模式,前后端实现分离,前端主要考虑与用户的交互,例如设计怎样的视图,地铁网络线路图如何展现等,后端主要是数据和算法的处理,将复杂的功能和数据交由后端处理,前后端实现函数接口,从而完成整个软件系统的架构设计。设计后端数据结构和接口
本次综合应用程序,基本上的数据结构都有涉及,例如网络线路的连接情况需用图结构、算法实现有队列,静态存储有线性表,名字到存储位置有哈希映射,分析好数据结构之后,根据需要将后端系统的接口进行设计,例如最短路径的查询、添加线路站点等均需接口。分块实现,逐步求精
系统结构和数据结构、算法等相应设计好后,就开始逐步实施了,从前端开始,对每个功能要求的前端界面和交互进行细化,实现前端代码,对每个功能的前端实现后,完善后端接口函数,完成所有前端后,后端也基本同步完成,从而完成整个程序的实现。
点击此处下载文档和源码
基于QT实现的可视化地铁换乘查询系统相关推荐
- 基于qt和mysql的地铁线路系统_[源码和文档分享]基于QT实现的可视化地铁换乘查询系统...
1.1 题目 上海的地铁交通网络已经基本成型,建成的地铁线十多条,站点上百个,现需建立一个换乘指南打印系统,通过输入起点和终点站,打印出地铁换乘指南,指南内容包括起点站.换乘站.终点站. 图形化显示地 ...
- Java、JSP地铁线路查询系统
技术:Java.JSP等 摘要: 南京市地铁线路查询系统是城市道路交通的重要组成部分,是城市发展的必然产物,是联系国民生活.社会生产和流通领域的关键环节.南京市地铁线路查询系统的发展一直处于一个较落后 ...
- 地铁线路查询系统的设计与实现
技术:Java.JSP等 摘要: 南京市地铁线路查询系统是城市道路交通的重要组成部分,是城市发展的必然产物,是联系国民生活.社会生产和流通领域的关键环节.南京市地铁线路查询系统的发展一直处于一个较落后 ...
- 石家庄地铁线路查询系统
石家庄地铁线路查询系统开发: 合作人:张旺 数据库的设计为:建立了一张表,有line_id(路线号).stop_id(站号).stop_name(站名).change(某站可换乘的线号)这几列. st ...
- 基于.Net Core Web MVC的图书查询系统——第四章,添加模型并使用EF Core生成基架自动生成控制器和视图
基于.Net Core Web MVC的图书查询系统 第一章,.Net Core Web MVC配置身份验证和注册登录功能并修改默认页面 第二章,.Net Core Web MVC配置邮件发送服务 第 ...
- 基于区块链的学生课程成绩查询系统
基于区块链的学生课程成绩查询系统 [摘 要]传统成绩管理系统存在数据易窜改的问题.本文根据区块链不可窜改的原理设 计并实现课程成绩查询系统.系统基于以太坊技术开发,采用 Node.js 作为服务器后端 ...
- 基于springboot+vue的疾病匿名检测查询系统
基于springboot+vue的疾病匿名检测查询系统 ✌全网粉丝20W+,csdn特邀作者.博客专家.CSDN新星计划导师.java领域优质创作者,博客之星.掘金/华为云/阿里云/InfoQ等平台优 ...
- android模板 警务,基于Android移动手机平台的警务查询系统
摘要: 移动计算作为一种新的计算模式改变了人们使用信息的方式,使人们使用信息不再受时间和地点的限制.随着通讯技术的迅猛发展,手机.PDA等移动数字终端设备已经大量普及使用,在移动中获取信息的需求也越来 ...
- [源码和文档分享]基于QT实现的图的可视化程序地铁换乘指南系统
1.题目 上海的地铁交通网路已基本成型,建成的地铁线十多条,站点上百个,现需建立一个换乘指南打印系统,通过输入起点站和终点站,打印出地铁换乘指南,指南内容包括起点站.换乘站.终点站. 2.软件功能 图 ...
最新文章
- The only supported ciphers are AES-128-CBC and AES-256-CBC
- 找出如下数组中最大的元素和最小的元素, a[][]={{3,2,6},{6,8,2,10},{5},{12,3,23}}
- Building a Simple, Local, Python Blockchain – Part 1
- 变长结构体的临时笔记
- MySQL【问题记录 01】报错 1709 - Index column size too large. The maximum column size is 767 bytes. 可能是最简单的方法
- JS module的导出和导入 1
- 太真实了!工业界AI项目落地血泪教训总结
- [unity独立游戏]多人游戏插件
- 【一起学Rust · 项目实战】命令行IO项目minigrep——测试驱动开发完善功能
- IDL调用ENVI-FLAASH大气校正异常退出解决办法
- ⚡️狂神Linux学习笔记
- 华为大搞5G光通信,火星人快步紧跟
- 了解什么是形式化方法?
- PwC上海AC面经-助理软件工程师(英语)
- matlab如何添加数据集,如何用matlab把数据集导入数据库
- 作业1.老狼几点了。凌晨,上午,下午,晚上。
- ValueError: The view XXXView didn't return an HttpResponse object. It returned None
- 计算机导论第五讲MOOC模拟答案,MOOC理念指导下的计算机导论课程_微课堂_设计与思考_朱淑鑫...
- 5.30 USB接口的定义 (10分)
- 【python】习题第9周