QT学习之路(4)——旅行模拟系统

写在前面


旅行模拟系统,是大二下计算机学院数据结构课程设计的课设内容,在上学期的数据结构课的理论基础上,大大加强了学生的动手实践能力,我在该课程上花费了不少精力,更不希望自己花费的精力白白浪费掉。

课设内容

城市之间有三种交通工具(汽车、火车和飞机)相连,根据旅客的要求设计出行路线并输出,同时系统能模拟旅客所在的地点和状态,目标为为旅客提供能完美的出行计划,同时能模拟多个旅客的旅行过程。
同时满足以下功能:城市总数为15,建立了较为复杂的交通时刻表(见schedule.txt),旅客要求包含起点终点、途经城市和旅行策略等,查询系统时间每十秒向前推进一小时,可建立日志文件记录旅客状态和键入信息。
旅客可在旅行中途某城市等待过程中再次以当前城市为出发地进行查询(更改计划),并进行相应的移动,且有地图图形,每个旅客状态均可反映在地图上。

功能需求

• 城市总数为15个

• 建立汽车、火车和飞机的时刻表(航班表)
有沿途到站及票价信息,点击城市可显示其全部时刻表信息
时刻表编制较为复杂,任意两个有交通工具的城市间必有汽车往来,较多有火车往来,较少有飞机往来
任意两有交通工具的城市间汽车数量为2-3,火车数量(若有)为1-2,飞机数量(若有)为1

• 旅客的要求包括:起点、终点、途经某些城市和旅行策略,以及旅行策略为限定时间时的用户限定时间

• 旅行策略有:
最少费用策略:无时间限制,费用最少即可
最少时间策略:无费用限制,时间最少即可
限时最少费用策略:在规定的时间内所需费用最省

• 旅行模拟查询系统以时间为轴向前推移,每10秒左右向前推进1个小时(非查询状态的请求不计时);

• 不考虑城市内换乘交通工具所需时间

• 系统时间精确到小时

• 建立日志文件,对旅客状态变化和键入等信息进行记录

• 选做一:某旅客可在旅行中途某城市等待过程中再次以当前城市为出发地进行查询(更改计划),并进行相应的移动,且有地图图形,每个旅客状态均可反映在地图上。

• 选做二:用图形绘制地图,并在地图上反映出旅客的旅行过程。

1.软件开发环境

版本库:Qt 5.12.0
IDE:Qt creator 4.8.0
编译器:Desktop Qt 5.12.0 minGW 64-bit
系统:windows 7, windows 10

2.总体结构

2.1模块结构图
模块结构图
2.2模块划分
模块划分

3.需求说明及分析

3.1城市总数为15个

分析:小组以中国南部15个城市抽象为该旅行模拟系统的15个城市,并采用PS方式绘制城市间交通情况图,大致符合实际地理位置,效果图如图:

3.2建立汽车、火车和飞机的时刻表

分析:在绘制完城市地图后,我们初步画出15个点间的边情况,并决定了每条边的汽车、火车、飞机情况,两点间有边则一定有汽车(2~3趟/天);火车有七个车次(分别为 ),在城市间有往返的运行,例如列车K520早4:00从A城出发途径B、H、C在12:00到达D城;飞机随机选择填写。具体时刻表见图(小部分):

同时,在封装的mypushbutton按钮类下,实现了点击某一城市,可以显示当前城市能够到达的城市的所有时刻表,以及票价等信息,如图:

3.3旅客的要求

分析:新建TravelDemand QT设计师界面类,当在widget点击查询时显示该界面,在ui中添加元素以采集用户输入信息并保存到当前旅客的属性中。具体ui界面见下图。

3.4旅行模拟查询系统以时间推移

• 旅行模拟查询系统以时间为轴向前推移,每10秒左右向前推进1个小时,不考虑城市内换乘交通工具所需时间

• 系统时间精确到小时

分析:实现窗口下端显示以当前时间开始,每十秒(任意时间间隔)向前推进一个小时。旅客行程按照模拟系统时间为单位进行状态改变等。

效果如图:

3.5选做一(更改计划)

分析:某旅客可在旅行中途某城市等待过程中再次以当前城市为出发地进行查询(更改计划),并进行相应的移动,且有地图图形,每个旅客状态均可反映在地图上。

需结合用户使用说明,旅客须移动至某城市的等待时间时点击查询按钮,出发地改为当前所在地,再根据自身需求输入所需要求,即可刷新旅客旅行计划,并根据新计划进行移动。

3.6选做二(图形表示)

分析:图形绘制地图,并在地图上反映出旅客的旅行过程。

旅客的状态用以下图片表示:

实际表现如图:(昆明—飞机—>上海)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,366评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,521评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,689评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,925评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,942评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,727评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,447评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,349评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,820评论 1 317
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,990评论 3 337
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,127评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,812评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,471评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,017评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,142评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,388评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,066评论 2 355