地铁收费管理系统Word下载.docx
- 文档编号:18990210
- 上传时间:2023-01-02
- 格式:DOCX
- 页数:14
- 大小:32.19KB
地铁收费管理系统Word下载.docx
《地铁收费管理系统Word下载.docx》由会员分享,可在线阅读,更多相关《地铁收费管理系统Word下载.docx(14页珍藏版)》请在冰豆网上搜索。
2、基本票价计算规则:
按进站点与出站点之间的最短里程分级计算:
,3千米
(包含3千米,但不包括0)以内:
2元。
3千米至5千米(包含5千米):
3元。
5千米至10千米(包含10千米):
4元。
10千米以上:
5元。
structdistcost
{
Charsi[];
Chars2[];
Intdistance;
};
3、进出站为同一站点的,则按进出站时长计算:
(1)小于等于30分钟:
单程票:
票卡面值作为扣费票价;
其他卡:
0元,且不受任何时间段的限制,即直接作为扣费票价。
(2)大于30分钟:
单程票:
(票卡面值,3元)中“最大值”作为扣费票价;
3元,且不享受任何时间段的优惠,即直接作为扣费票价。
4、扣费票价计算规则1:
按照各种票卡的类型计算:
普通卡(C):
正常时间段以基本票价作为扣费票价;
特殊时间段收费参见“5、
费票价讣算规则2”o
老年卡(B):
正常时间段以基本票价的9折作为扣费票价(如出现小数,则向下
取整);
特殊时间段收费参见“5、扣费票价计算规则2”。
单程票(A):
即一次性车票,任何时间段不享受任何优惠,直接以(票卡面值,
基本票价)中“最大值”作为扣费票价。
5、扣费票价计算规则2(不涉及单程票):
按照进站时间的不同区间计算:
,进站时间为[7:
00,9:
00)、[16:
30,18:
30)时,无任何优惠,所有类型的交通
卡(单程票除外)以基本票价作为扣费票价。
进站时间为[10:
00,11:
00)、[15:
00,16:
00)时,所有类型的交通卡(单程票
除外)以基本票价的5折作为扣费票价(如出现小数,则向下取整)。
2015-3-24华为机密,未经许可不得扩散第2页,共10页
1.3约束
考生严格按操作说明的功能项实现,不用考虑其他异常(比如:
单参数的合法性,
不同操作之间的逻辑关联性,等等)。
系统不考虑跨天的情况,只需要考虑同一天,即00:
00^23:
59地铁全天运行时
间范围内的功能。
所用的命令字和卡类型参数中的字母不区分大小写;
站名中若出现小写字母,考试
框架自动将其转换成大写字母。
2操作说明
采用在考试系统提供的SocketTool工具中输入命令串方式与系统进行操作交互,命令字是该命令吊的第一个符号。
命令行的格式:
命令字[空格〕参数1...[空格]参数n
命令字与第一个参数之间、参数与参数之间,均使用英文半角空格分隔,单个参数内无空格。
命令行涉及到的“参数说明”:
参数名称参数说明类型取值范围示例
卡号卡号整数0、9,0为通5
配卡号,只在查
询(q)命令中可
用。
卡类型票卡的类型:
字符A(a),B(b),B,b
单程票/老年卡/C(c)
普通卡
金额(元)卡扣费前余额整数0、999888
卡扣费后余额
扣费金额
(遇小数向下取
整)
时间进站时间HH:
MM00:
59注意命令输入格式:
出站时间合法:
09:
05
查询起始时间非法:
9:
05>
09:
5、9:
5
查询终止时间
站点名称进站站点名称字符串共六个站名:
S5
出站站点名称srs6
2.1初始化
命令格式:
r
2015-3-24华为机密,未经许可不得扩散第3页,共10页
HWAWCI
功能说明:
程序复位,使程序恢复到刚启动时的初始化状态。
全局变量、链表及输出消费记录的文件等统一恢复到初始状态。
约束说明:
系统在任何状态下可以执行该命令初始化系统。
输出说明:
输出操作结果提示(执行完r命令后系统会自动输出操作结果,考生不需
要调用任何输出函数)。
编号用例标题测试步骤预期输出
1程序复位R100:
欢迎使用地铁收费系统2.2请求扣费
命令格式:
c卡号卡类型卡扣费前余额进站时间进站站点名称出站时间出站站点名称
功能说明:
1、按照输入条件和“1.2地铁收费系统规则”,对票卡进行扣费操作(减去扣费票价)。
2、输出信息调用系统已提供的接口完成(接口参见“3.4API说明”)。
3、如果:
进站时间>
出站时间,则不扣费,输出参数错误。
1请求扣费命令C9C2012:
05E02:
参数错误(时间关系错误)
参数非法S111:
20S4
4、如果从进站点到出站点之间的路线不存在,则不扣费,输出无效路线,并显示“卡扣费后余额”(“卡扣费后余额”等于“卡扣费前余额”)。
1无效线路,扣费C3C8509:
05110:
扣费失败(无效路线)
失败S310:
20S8〈卡号=3>
〈余额二83>
注意:
3/4同时发生时,以3输出优先。
5、如果'
‘卡扣费前余额”大于等于扣费票价,则扣费,输出扣费成功,并显示“卡扣费后余额”。
注意:
如果单程票面值大于等于扣费票价,则按票面值扣费。
例如:
单程票面值5元,应收票价为3元,则本次扣费为5元,余额为0。
1正常扣费成功C1A307:
00Ill:
扣费成功
S408:
25S3〈卡号二IX余额二0>
6、不是单程票的,扣费成功后,如果"
卡扣费后余额”小于20元,则输出余额过低,并显示“卡扣费后余额”。
1正常扣费成功,C4B2010:
05112:
扣费成功(余额过低)
卡内余额偏低S111:
20S4〈卡号二4>
〈余额二18>
7、如票'
'
卡扣费前余额”不足以扣费,则不扣费,输出扣费失败(余额不足),并显示“卡扣费后余额”(“卡扣费后余额”等于“卡扣费前余额”)。
2015-3-24华为机密,未经许可不得扩散第4页,共10页
驰
HWAWEI
编号用例标题测试步骤预期输出
1余额不足,扣费C4B115:
00113:
扣费失败(余额不足)
失败S115:
55S4<
卡号=4>
<
余额二1>
8、调用系统已提供的写日志接口(接口参见“3.4API说明”),将“地铁乘车记录”
记录到内存日志中,日志记录中包含如下字段:
>
HH:
WO<
W<
卡号进站时间进站站点名称出站时间出站站点名称实际
X扣费是否成功〉扣款金额
Structloginfo{
Intcard;
LonginTime;
LongoutTime;
Intcost;
BoolisCost;
请求扣费操作(c/C)所有(无论是否成功或失败)输出返回时,均要求要记录
日志。
(如果卡号已注销的话,不写日志)
,仅请求扣费操作(c/C)才记录日志,其他任何操作(查询扣费日志(q/Q)、初始化
(r/R))均要求不要记录日志。
系统最多记录10条日志,超过的系统会自动丢弃,程序初始化(或复位
(r/R))
后日志记录自动清空,自动从头记录。
约束说明:
无。
输出操作结果,统一参见“3.3基本用例”。
2.3查询扣费日志(本功能作为附加功能,学员选做,请在完成其他
功能后再做)
q卡号查询起始时间查询终止时间
查询指定票卡出站时间在指定时间段内(查询起始时间〈二出站时间〈二查询
终止1、
时间)的“地铁乘车记录”日志。
备注:
对于内存日志的访问,请使用系统已提供的访问日志的接口(接口参见
“3.4API
说明”)。
2、输出日志查询结果信息,请调用系统已提供的接口完成(接口参见“3.4
API说明”)。
3、如果:
查询起始时间〉查询终止时间,则输出参数错误。
1查询日志命令Q020:
00E02:
参数非法17:
30
4、如果卡号为0,则查询所有票卡出站时间在指定时间段内的地铁乘车记录;
2015-3-24华为机密,未经许可不得扩散第5页,共10页
5、查询结果按照“卡号”从小到大的顺序输出,同一卡号按照记录日志的先后顺序输
出。
1查询日志成功R100:
欢迎使用地铁收费系统
C4B2010:
8111:
20S4<
余额二18>
C3C8509:
S310:
20S8〈卡号二3>
〈余额二85>
Q000:
00120:
查询成功
23:
59<
3X09:
05XS3X10:
20XS8X0X失
败〉
4X10:
05XS1X11:
20XS4X2X成
功〉
6、如果没有满足条件的记录,则输出查询失败(无相应记录)。
编号用例标题测试步骤预期输出
1无日志记录,查R100:
询失败Q000:
00E21:
查询失败(无相应记录)
59
满足条件的日志记录。
2.4查询扣费历史记录
h卡号
1、查询指定票卡的消费记录(只查询消费成功的记录)。
2、如果卡号为0,则查询所有票卡的消费记录;
3、查询结果按照消费的顺序输出。
2015-3-24华为机密,未经许可不得扩散第6页,共10页
1查询扣费历史R100:
记录成功C4B2010:
S111:
20S8<
卡号二3X余额二85>
00120:
H0败〉
〈历史消费记录〉卡号:
4卡类别:
老年卡
进站时间:
10:
05进站名称:
S1出站时
间:
11:
20出站名称:
S4费用:
2
卡号:
老年卡进站时间:
S1出站时间:
20出站名称:
写文件时,每个字段后用英文半角空格分隔分开。
输出到文件时需要遵从上面功能说明的第2、3条约束。
SubwayCharge.txt以覆盖方式写入,系统初始化时清空.
(写日志文件作为附加功能,学员选做,请在完成其他功能后再做)
2015-3-24华为机密,未经许可不得扩散第7页,共10页
2.5注销票卡(本功能作为附加功能,学员选做,请在完成其他功能
后再做)
d卡号
1、注销指定票卡的消费记录,输出:
122:
票卡注销成功
〈卡号二,〉〈余额二0>
2、如果卡号为0,则注销所有票卡,输出:
3、〈卡号二0>
〈余额二0>
4、注销后的票卡不能再进行请求扣费、扣费日志查询及再次注销操作,如有操作,输
出:
E22:
操作失败,此票卡已经注销;
5>
注销时,关于此票卡的历史消费信息(扣费历史记录,扣费记录)需要删除(不需
要删除SubwayCharge.txt中的记录)。
注销后的票卡需要在系统重新初始化后
能再次使用。
1注销票卡后再R100:
次扣费失败C4B2010:
〈余额二18>
D4122:
C4B2012:
05〈卡号二4>
S113:
20S4E22:
操作失败,此票卡已经注销
3附录:
3.1命令汇总
命令命令格式说明
r/Rr程序初始化(程序复位)c/Cc卡号卡类型卡扣费前余请求扣费
额进站时间进站站点名称
出站时间出站站点名称
q/QQ卡号查询起始时间查询查询扣费日志
终止时间
h/Hh卡号查询票卡消费历史记录d/DD卡号注销票卡
2015-3-24华为机密,未经许可不得扩散第8页,共10页
3.2返回码汇总
返回码描述说明
100:
欢迎使用地铁收费系统(考生不使用该返回码)r/R命令程序复位时,
输出该返回码
110:
扣费失败(无效路线)c/C请求扣费操作,计算进出站点里程失败时,
Ill:
扣费成功c/C请求扣费操作正常成功时,输出该返回码112:
扣费成功(余
额过低)c/C请求扣费操作正常成功,但扣费后余额小于
20元时,输出该返回码
113:
扣费失败(余额不足)c/C请求扣费操作,出现不够扣费时,输出该返
回码
120:
查询成功(考生不直接使用该返回码)查询日志成功,输
出日志记录时,输出该返回码122:
票卡注销成功d/D注销票卡成功,输出该
返回码E01:
非法命令(考生不使用该返回码)命令格式错误,或单参
数非法时,系统自动输出该返回码E02:
参数错误(时间关系错误)c/C/q/Q命令多个参数间出现逻辑关系错误时,
E21:
查询失败(无相应记录)q/Q查询日志或者h/H查询历史消费信息为空
时,输出该返回码
E22:
操作失败,此票卡已经注销c/C/q/Q/h/H/d/D命令操作时,如果票卡已经
注销,输出该返回码
E99:
程序内部错误返回E99
3.3基本用例
编号用例标题测试步骤预期输出1程序复位R100:
欢迎使用地铁收费系
统2请求扣费命令参C9C2012:
05SIE02:
数非法11:
3无效线路,扣费C3C8509:
05S3110:
失败10:
4正常扣费成功C1A307:
00S4Ill:
扣费成功
08:
25S3〈卡号二1>
5正常扣费成功,C4B2010:
05SI112:
卡内余额偏低11:
20S4〈卡号二4X余额=18>
6余额不足,扣费C4B1
15:
00SI113:
失败15:
卡号二4>
7査询日志命令参Q020:
0017:
30E02:
参数错误(时间关系错误)2015-3-24
华为机密,未经许可不得扩散第9页,共10页
数非法
8查询日志成功R100:
05S3110:
余额二85>
0023:
59120:
H0<
败》
29无日志记录,查R100:
欢迎使用地铁收费系统询失败Q000:
59E21:
查询失败(无相应记录)10注销票卡成功、R100:
欢迎使用地铁收费系统再次操作此票卡C4B2010:
扣费成功(余额过低)失败11:
20S4〈卡号二4X余额二18>
05S1〈卡号二4>
13:
3.4API说明
1、VC工程SubwayCharge.rar中包括:
\lib\SocketApi.lib:
是一个LIB库文件,其中实现了对外通信接口,
考生不涉及使用,考试系统使用,不能删除;
\lib\SubwayChargeApi.lib:
是一个LIB库文件,其中实现了对命令
输入和操作输出等公共功能的一些封装;
\lib\ExamApi.lib:
是一个LIB库文件,其中实现了对自动化阅卷功能
的一些封装;
\src\api.h:
头文件,定义了考生可能用到的的宏、枚举、结构、函数声
明;
\src\SubwayCharge.h:
头文件,定义了考生可能用到的的宏、枚举、
结构,以及需要考生实现的接口函数声明。
考生可以向其中添加自己的定义。
具体要求请看函数注释。
\src\SubwayCharge.cpp:
源码文件,提供了需要考生实现的接口函数
框架,这些函数是空白的,需要由考生实现。
其他文件是VC工程自行产生的,考生不必关注。
更详细的定义请参阅VC工程。
2015-3-24华为机密,未经许可不得扩散第10页,共10页
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 地铁 收费 管理 系统