> # ♻️ 资源
> **大小:** 28.7MB
> **文档链接:**[**https://www.yuque.com/sxbn/ks/100010856**](https://www.yuque.com/sxbn/ks/100010856)
> **➡️ 资源下载:**[**https://download.csdn.net/download/s1t16/87453197**](https://download.csdn.net/download/s1t16/87453197)
> **注:更多内容可关注微信公众号【神仙别闹】,如当前文章或代码侵犯了您的权益,请私信作者删除!**
> ![qrcode_for_gh_d52056803b9a_344.jpg](https://cdn.nlark.com/yuque/0/2023/jpeg/2469055/1692147256036-49ec7e0c-5434-4963-b805-47e7295c9cbc.jpeg#averageHue=%23a3a3a3&clientId=u8fb96484-770e-4&from=paste&height=140&id=u237e511a&originHeight=344&originWidth=344&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=8270&status=done&style=none&taskId=ud96bf5f7-fe85-4848-b9c2-82251181297&title=&width=140.1999969482422)
# 旅游线路规划
## 一、设计任务的描述
系统目标: 本软件旨在根据旅客的要求设计出行路线并输出,同时系统能模拟旅所在的地点 和状态,目标是为旅客提供能完美出行的计划。处于对不同目的的旅客对交通工具有不同的要求。例如,因公出差的旅客希望在旅途的时间尽可能短,出门旅游的游客则希望旅费尽可能省。编制一个全国城市间的交通咨询程序,为旅客提供最优决策的交通咨询。
## 二、功能需求说明及分析
功能需求: 设计最省钱和最少时间的算法及其需要信息的存储:最省钱和最少的算法利用迪 杰斯塔拉算法; 信息先是存储在一个文本文件中,程序可以从中读取并且存放在一个类中。 该程序所做的工作是模拟旅游交通查询,为旅客提供最有决策的交通查询。规定: 再输入城市名称时,直接输入城市的名称(汉字);输入时间时,需要输入一个 整型数据,选择功能时在界面上直接选择。程序的输出信息主要是:最快需要多 少时间才能到达,或者最少需要多少费用才能到达,以及在旅程途中临时改变目 的地时方案也相对发生变化和在规定时间内的最省钱方案。模拟旅游交通查询系 统,能实现现实生活中旅客的各种需求做出相应的程序,能实现选择功能。
1. 城市总数不少于 10 个,即不能过于简单
2. 建立汽车,火车,飞机的航班表 包含沿途到站、票价信息 并且要求两个城市之间不能只有一班车次
3. 旅客的需求包含:起点、中点、途经城市、在某个城市的停留时间、 旅行策略(旅客可以中途改变旅行方案)
4. 旅行策略包含:最少费用:不考虑时间,只需费用最少最少时间:不考虑费用,只需时间最短限时最少费用:在规定的时间内,让费用最少
5. 旅行查询系统以 10s :1h 的速度推进时间轴(非查询状态不计时)
6. 不考虑城市内换乘交通工具所需时间
7. 系统的时间精确到小时
8. 建立日志文件,对旅客状态变化和键入等信息进行记录
9. 旅客在旅途中可更改旅行计划,系统做出相应的操作
10. 用图形绘制地图,并在地图上反映出旅客的旅行过程
## 三、总体方案设计说明
### 开发环境:
版本库:Qt 5.12.2
IDE:Qt Creator 4.8.2
编译器:MinGW 64-bit
系统:Windows 10
### 概要设计:
本系统整体上分为存储系统,编辑列车城市信息以及求最小费用,最短时间,存 储系统运用到数组和类。存储系统分别存储火车,飞机,汽车列次,始发地和终 点站以及需要的费用。最短时间和最小费用使用迪杰斯塔拉算法编程。该算法主要分为三步:1,起始点(V0)与其相邻点的权值(即当前最短路径)。2,求出 当前最短路径中的最小值即是该起始点(V0)与另一点(Vi)的最短路径。3, V0 到 Vi 的距离加上 Vi 到 Vj 的距离小于 V0 到 Vj 则将 V0 到 Vi 的距离加上 Vi 到 Vj 的距离记为 V0 到 Vj 当前最短路径,循环第二,三步。如此得到 V0 到各点的最短路径,进而可以得到最想要的一条。时间复杂度为 O(n2),空间复杂度 O(n)。
### 总体结构:
软件结构包括软件模块和模块间的控制关系和模块组成关系。
![](https://cdn.nlark.com/yuque/0/2024/png/2469055/1716425683320-a0ec1c19-dbc4-43bf-b2cf-3289a945c4a5.png#averageHue=%23fffae5&from=url&id=CgPOw&originHeight=390&originWidth=606&originalType=binary&ratio=1&rotation=0&showTitle=false&status=done&style=none&title=)
| 编 号 | 模 块 名 称 | 模 块 标 识 | 模块功能 |
| --- | --- | --- | --- |
| 1 | 输入模块 | Widget | 图形界面输入操作 |
| 2 | 算法以及旅客信息模块 | Traveler | 计算最优规划 |
| 3 | 绘图模块 | Mapwidget | 图形化输出 |
| 4 | 航班表模块 | Schedule | 读入并存储航班表 |
| 5 | 日志模块 | Log | 生成日志文件 |
## 四、数据结构说明和数据字典
数据结构说明:
![](https://cdn.nlark.com/yuque/0/2024/png/2469055/1716425683435-45f68f7c-0a04-45c3-9bf4-e9288a8dc6f6.png#averageHue=%23fdfcf4&from=url&id=nMvBv&originHeight=272&originWidth=631&originalType=binary&ratio=1&rotation=0&showTitle=false&status=done&style=none&title=)
Attribute 类包含了一个车次(或者航班)信息,其中有公有成员:
int from: 出发城市
int to: 目的城市
int cost: 花费
int vehicle: 类型(飞机、火车、汽车)
QString num: 车次号(或航班号)
QTime begin: 出发时间
QTime end: 到达时间
一个 Attribute 类的对象就是一个车次(或航班)信息
![](https://cdn.nlark.com/yuque/0/2024/png/2469055/1716425683500-3fb7db01-cdd8-4674-aebc-737096403b5e.png#averageHue=%23f1eee5&from=url&id=p4RVB&originHeight=290&originWidth=780&originalType=binary&ratio=1&rotation=0&showTitle=false&status=done&style=none&title=)
Schedule 类包含了一个 multimap 型的 存储城市之间交通工具时刻表的结构
multimap<int,Attribute> database: 所有城市之间交通工具时刻表
![](https://cdn.nlark.com/yuque/0/2024/png/2469055/1716425683601-a71db37c-163a-4d94-87af-caad6d7a65f1.png#averageHue=%23f2f1e9&from=url&id=EQ1tf&originHeight=566&originWidth=974&originalType=binary&ratio=1&rotation=0&showTitle=false&status=done&style=none&title=)
Traveler 类包含了一个旅客的全部信息 私有成员:
bool isChecked 是否途经城市 int id 旅客 id
int strategy 旅行策略 int origin 出发城市 int destination 目的城市
QDateTime start_time 出发时间
QDateTime deadline_time 截止时间(策略三使用) QDateTime used_time 已经过时间
QDateTime total_time 总用时间
std::vector throughCity 途经城市 std::vector get_plan() 得到旅行计划 QDateTime get_city_arrival_datetime(int) 到达城市时间 QDateTime get_city_departure_datetime(int)
离开城市时间
std::vector change_plan(……) 改变旅行计划
公有成员:
std::vector plan 记录最优路径 std::vector time 记录每个城市的到达时间 std::vector dijkstra(……) 迪杰斯特拉算法求策略 一、二的最优路径
void deep_first(……) 递归查找路径
void make_plan(……) 生成旅行计划 void update_adjacents(……) 更新相邻节点的值 QDateTime calculate_time(……) 计算时间 QDateTime total_datetime() 总用时
int min 最小花费 QDateTime mintime 最短时间
Ps:最后增加了对旅客信息保存功能,下次打开将自动显示
将旅客信息保存在 traveler.txt 文件中,不要删除此文件,否则下次启动程 序将无法打开文件。
实现方法:在关闭程序之前将旅客信息保存在 traveler.txt 中,再次打开程 序先读文件 traveler.txt,并将旅客信息显示在屏幕上。
## 五、各模块设计说明
### **1.** Schedule
实现功能:从文件中读入 并 存储 城市之间交通工具时间表 需要对文件中数据类型做处理(例如城市在文
没有合适的资源?快使用搜索试试~ 我知道了~
基于QT(C++)实现旅游线路规划系统【100010856】
![preview](https://csdnimg.cn/release/downloadcmsfe/public/img/white-bg.ca8570fa.png)
共74个文件
dll:23个
qm:21个
h:6个
![preview-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/scale.ab9e0183.png)
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
![star](https://csdnimg.cn/release/downloadcmsfe/public/img/star.98a08eaa.png)
温馨提示
详情介绍:https://www.yuque.com/sxbn/ks/100010856 本软件旨在根据旅客的要求设计出行路线并输出,同时系统能模拟旅所在的地点 和状态,目标是为旅客提供能完美出行的计划。处于对不同目的的旅客对交通工具有不同的要求。例如,因公出差的旅客希望在旅途的时间尽可能短,出门旅游的游客则希望旅费尽可能省。编制一个全国城市间的交通咨询程序,为旅客提供最优决策的交通咨询。
资源推荐
资源详情
资源评论
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
收起资源包目录
![package](https://csdnimg.cn/release/downloadcmsfe/public/img/package.f3fc750b.png)
![folder](https://csdnimg.cn/release/downloadcmsfe/public/img/folder.005fa2e5.png)
![folder](https://csdnimg.cn/release/downloadcmsfe/public/img/folder.005fa2e5.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![folder](https://csdnimg.cn/release/downloadcmsfe/public/img/folder.005fa2e5.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/PNG.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/TXT.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/PNG.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/PNG.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/PNG.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/PNG.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/PNG.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![folder](https://csdnimg.cn/release/downloadcmsfe/public/img/folder.005fa2e5.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![folder](https://csdnimg.cn/release/downloadcmsfe/public/img/folder.005fa2e5.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/EXE.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![folder](https://csdnimg.cn/release/downloadcmsfe/public/img/folder.005fa2e5.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/TXT.png)
![folder](https://csdnimg.cn/release/downloadcmsfe/public/img/folder.005fa2e5.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![folder](https://csdnimg.cn/release/downloadcmsfe/public/img/folder.005fa2e5.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/TXT.png)
![folder](https://csdnimg.cn/release/downloadcmsfe/public/img/folder.005fa2e5.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![folder](https://csdnimg.cn/release/downloadcmsfe/public/img/folder.005fa2e5.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/PDF.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
共 74 条
- 1
资源评论
![avatar-default](https://csdnimg.cn/release/downloadcmsfe/public/img/lazyLogo2.1882d7f4.png)
- 13916012023-07-07资源和描述一致,质量不错,解决了我的问题,感谢资源主。
- ldian0042023-07-06内容与描述一致,超赞的资源,值得借鉴的内容很多,支持!
![avatar](https://profile-avatar.csdnimg.cn/fbed2db386fd4018b8f2474d6651545d_s1t16.jpg!1)
神仙别闹
- 粉丝: 2716
- 资源: 7668
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)