@zhongjianxin
2019-10-11T08:45:25.000000Z
字数 2869
阅读 1095
AFS-HW-Java
小明是一个羽毛球馆的管理员,手里面管着四个羽毛球场地,负责羽毛球场地的维护和预定工作。
小明为了简化自己的工作,只接受整点预定,一次预定以一小时为单位。
羽毛球场的收费标准如下:
周一到周五:
周六及周日
取消预订的标准如下:
小明每天早晨 9 点上班,晚上 10 点下班,还要接电话预定,非常辛苦。他决定设计一个名为“羽毛球场管理系统”的程序把看场地的工作自动化起来。靠监控器来看场地,靠程序来接受预定和计算每周的收入。
首先,“羽毛球场管理系统”需要提供“询价”服务,当用户输入"How much?"的时候,系统应返回如下信息:
********Price********
Welcome to badminton
-------Workday-------
9:00~12:00 30 yuan/h
12:00~18:00 50 yuan/h
18:00~20:00 80 yuan/h
20:00~22:00 60 yuan/h
-------Weekend-------
9:00~12:00 40 yuan/h
12:00~18:00 50 yuan/h
18:00~22:00 60 yuan/h
**Have a good day !**
注意!价目表会实时变动,我们在文件 BadmintonDataLoader 中提供了函数 LoadWorkdayPriceList()和函数 LoadWeekendPriceList(),用来分别提供工作日和周末的价目表,当我修改价目表时程序仍需能正常工作。
********Price********
Welcome to badminton
**Have a good day !**
-------Workday-------
9:00~12:00 30 yuan/h
12:00~18:00 50 yuan/h
18:00~20:00 80 yuan/h
20:00~22:00 60 yuan/h
-------Weekend-------
9:00~12:00 40 yuan/h
12:00~18:00 50 yuan/h
18:00~22:00 60 yuan/h
同时系统需要提供预定场地的功能,当用户想预定场地时,需要告知系统用户 ID、时间,以及场地号,因此用户向系统输入的格式为:Book {用户ID} {yyyy-MM-dd HH:mm~HH:mm} {场地编号}
例如:
用户 0001 想预定 3 号场地,且时间为:2019 年 12 月 1 号 14:00 到 15:00 时,用户需要向系统输入以下信息:
Book 0001 2019-12-01 14:00~15:00 3
如果场地预定成功,那么系统会返回预定成功的提示以及所需费用。
例如:
Success! You can use the No.3 court during 2019-12-11 14:00~15:00.
为了保证系统正常运行,以下情况将会预定失败:
如果不幸预定失败,那么系统会返回失败提示:
Sorry! Something wrong, please call the manager!
Success! 3 2019/12/11 14 - 15
(15 分) 可以成功预定且程序打印出来的信息完全正确。
(6 分) 当预定时间不是整小时
时,系统会返回失败提示。
(12 分) 当指定场地在该时间段(部分或全部)已经被预定了
时,系统会返回失败提示。
(6 分) 当预定结束时间早于开始时间,如:15:00 ~ 14:00
时,系统会返回失败提示。
(6 分) 当预定的开始时间早于 9:00,如:8:00 ~ 10:00
时,系统会返回失败提示。
(6 分) 当预定的结束时间晚于 22:00,如:20:00 ~ 23:00
时,系统会返回失败提示。
为了方便客户,系统还需提供取消预定的功能,当用户想取消预定时,也需要告知系统用户 ID、时间,以及场地号,相应的,用户向系统输入的格式为:Cancel {用户ID} {yyyy-MM-dd HH:mm~HH:mm} {场地编号}
,
例如:
Cancel 0001 2019-12-11 14:00~15:00 3
如果取消成功,那么系统会返回成功的提示:
Cancel Success! Look forward to your next visit!
假如取消的时候产生了违约金,系统返回的提示将变为:
Cancel Success! You need pay 25 yuan as penalty. Look forward to your next visit!
以下情况将会取消失败:
当取消预定失败时,系统会返回失败提示:
Sorry! Something wrong, please try again!
Cancel Success! Look forward to your next visit!
(15 分)可以取消成功,且产生了违约金,程序打印出来的信息完全正确。
(10 分)当预定时间不是整小时
时,系统会返回失败提示。
(10 分)当用户并没有预定指定场地的指定时间段(必须和预定时间段完全一致)
时,系统会返回失败提示。