地铁售票与乘车引导系统[2023-09-16]

基于Qt实现地铁售票与乘车引导系统[2023-10-07]

第2题 地铁售票与乘车引导系统

【问题描述】
北京地铁(Beijing Subway)是服务于中国北京市的城市轨道交通。其第一条线路于1971年1月15日正式开通运营,使北京成为中国第一个开通地铁的城市。截至2017年1月,北京地铁运营线路共有19条地铁线路,均采用地铁系统,覆盖北京市11个市辖区,运营里程574公里,共设车站345座。截至2017年7月,北京地铁在建线路20条,共354.8千米。到2020年,北京地铁形成线网由30条运营,总长1177公里的轨道交通网络。

北京地铁图
目前,北京地铁票价为浮动票价,具体的票价计算方式见下表:
表 1 地铁票价计算表

里程(公里)	票价(元)
0~6	3
6~12	4
12~22	5
22~32	6
32~52	7
52~72	8
72~92	9

由于采用浮动票价,人们在乘坐地铁时需要知道出发站和目的站所需低票价以避免不必要的浪费,这就需要在乘客购票前够告知此次乘车的票价。并且,北京也是著名的旅游城市,很多游客来北京去各个景点均需要乘坐地铁,但外地的游客并不熟悉要去的景点离哪个地铁站比较近,他们在购买车票的时候经常是只知道目的景点名称,不知道景点附近的地铁站的名称,这就需要在购票的时候能够根据游客的目的景点名称来指导游客购票。
因此,地铁公司需要提供一个车票和线路查询软件,为每个车站的售票窗口使用,该软件能够提供从该站出发,到其他所有地铁站的最少票价信息供乘客购票前查看,还能提供给乘车路线(包含换乘),且能够支持从当前车站到著名景点附近车站的最少票价信息以及站点信息的查询。
由于有新的地铁线、站的加入,就会导致价格表的变更,因此需要使用计算机软件自动生成该票价表,并能够支持新增景点信息后提供合理正确的地铁线路和站点的查询。

【基本要求】
通过读取配置文件信息,读取并加载地铁网络信息。配置文件内容可以根据设计自己组织,但需要合理。
通过软件界面,可以输入起点(对于每一个地铁站,可以设置其各自本站为默认起始站)、和终点。
根据输入数据,通过相应模块进行计算处理后,给出合适的乘车路线,线路提示可以分为“用时最少”和“换乘最少”,并在地铁线路图上提示(包括提示换乘站),票价,历程/时长。

【实现提示】

  1. 需要将配置中的基础数据信息读入内存并转换为一张带权无向图,权值为地铁站间的里程。
  2. 需要为无向图选用易于操作的存储方式。
  3. 可以适当简化地铁运行图,但至少要包括1、2、4、5、6、8、9、10、13号线这9条地铁线,需要有图形化界面进行地铁线路展示和进行用户交互。
  4. 实现线路提示可以记录每个站点在图片上的坐标(x, y),通过绘制直线连接各个计算出的站点形成线路提示。

【功能扩展】
1)支撑通过景点名购票
通过读取配置文件信息,读取并加载与地铁站点相关景点信息。配置文件内容可以根据设计自己组织,但需要合理。
通过软件界面,可以输入起点(对于每一个地铁站,可以设置其各自本站为默认起始站)、和景点名称来查询需要购买的地铁票,终点,以及乘车线路。

2)提供旅游票
为了鼓励地铁公共出行,该种票允乘客在访问某地铁站附近的景点后,再次回到该地铁站乘坐地铁去下一景点使用,根据乘坐地铁的次数的不同,相应票价会有打折优惠(可以自己定义优惠条件,但要合理,要比单独多次购买优惠),需要自动计算出最优的出行方案和票价。

【检查计划】
第一次检查
1.问题需求分析,系统的基本功能设计
2.数据结构设计
3.程序结构原型

第二次检查
使用自带的数据,演示程序的功能(代码,测试数据)

第三次检查
1.文档齐全
2.根据测试数据,运行程序;演示时适当地讲解,并且回答问题
3.扩展功能的演示

备注:
地铁相关信息可以去网上查,也可以根据情况自己定制,但至少包括之前所要求的9条线路,地铁间里程可以使用实际的,也可以自己根据经验设置。

程序展现

源码联系UP主 -> https://space.bilibili.com/329101171
播放视频 -> https://www.bilibili.com/video/BV1ia4y1S7ya

基于Qt实现地铁售票与乘车引导系统

程序主界面

站点信息管理

线路信息管理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值