本文是数据结构课程设计项目,实现类似“携程”旅行模拟,具体项目及要求请点击查看。
一、设计任务的描述
本软件旨在根据旅客的要求设计出行路线并输出,同时系统能模拟旅所在的地点和状态,目标是为旅客提供能完美出行的计划。处于对不同目的的旅客对交通工具有不同的要求。例如,因公出差的旅客希望在旅途中的时间尽可能短,出门旅游的游客则希望旅费尽可能省。编制一个全国城市间的交通咨询程序,为旅客提供最优决策的交通咨询。
二、功能需求说明及分析
设计最省钱和最少时间的算法及其需要信息的存储:最省钱和最少的算法利用迪杰斯塔拉算法;
信息先是存储在一个文本文件中,程序可以从中读取并且存放在一个类中。
该程序所做的工作是模拟旅游交通查询,为旅客提供最有决策的交通查询。
规定:
- 输入城市名称时,直接输入城市的名称(汉字)
- 输入时间时,需要输入一个整型数据,选择功能时在界面上直接选择。
程序的输出信息主要是:
最快需要多少时间才能到达,或者最少需要多少费用才能到达,以及在旅程途中临时改变目的地时方案也相对发生变化和在规定时间内的最省钱方案。
模拟旅游交通查询系统,能实现现实生活中旅客的各种需求做出相应的程序,能实现选择功能。
城市总数不少于10个,即不能过于简单
建立汽车,火车,飞机的航班表,包含沿途到站、票价信息,并且要求两个城市之间不能只有一班车次
旅客的需求包含:起点、中点、途经城市、在某个城市的停留时间、旅行策略(旅客可以中途改变旅行方案)
旅行策略包含:
- 最少费用:不考虑时间,只需费用最少
- 最少时间:不考虑费用,只需时间最短
- 限时最少费用:在规定的时间内,让费用最少
旅行查询系统以10s :1h的速度推进时间轴(非查询状态不计时)
不考虑城市内换乘交通工具所需时间
系统的时间精确到小时
建立日志文件,对旅客状态变化和键入等信息进行记录
旅客在旅途中可更改旅行计划,系统做出相应的操作
用图形绘制地图,并在地图上反映出旅客的旅行过程
三、开发环境
版本库:Qt 5.12.2
IDE:Qt Creator 4.8.2
编译器:MinGW 64-bit
系统:Windows 10
四、项目地址
本项目的源码、可执行程序均已经存放于我的Github,欢迎下载查看: