影院消费情况计算
某影城想要统计顾客在该影院的消费情况。
对于影院而言,顾客分为三种类型:非会员、银卡会员、金卡会员。三种类型的顾客在影城消费时,优惠政策是不同的,具体的优惠细则如下:
会员类型 优惠细则
非会员 周二电影半价
银卡会员 周二电影半价,非周二电影七五折
金卡会员 在“银卡会员”的优惠基础上,如果单次购买电影票数量多于1张,则减免20元钱
示例:
某金卡会员在2012-02-24(周五)购买了3张单价为50元的电影票,那他本次消费的金额为:50*3*75%-20=92.5元
题目要求:
根据影院提供的顾客消费记录及会员注册信息,计算每位顾客在影城的消费合计。顾客在每次消费时,消费金额四舍五入到分,即保留小数点后两位小数。
为简化输入输出处理,我们仍以数据文件作为程序的输入输出。
1) 输入文件说明
a) 顾客消费记录为:c:\test\consumption.txt,文件中的内容为:顾客姓名,消费日期,电影票单价,购买数量。各列之间用“,”分隔,日期格式为yyyy-MM-dd。需要注意的是存在一个顾客消费多次的情况。文件示例如下:
张三,2012-02-24,50,3
b) 会员信息为:c:\test\vip.txt,文件中的内容为:顾客姓名,会员类型。各列之间用“,”分隔,不需要考虑顾客姓名重复的情况。文件示例如下:
张三,金卡
输入文件需要做必要的合法性检查,跳过错误的数据行,并在c:\test\result.log日志文件中将错误数据行的内容记录下来。附带的Eclipse工程中含有log4j的配置文件,但并不强制要求必须使用log4j,只要日志中记录了完整的错误数据行即可。
2) 输出文件说明
a) 存放位置:c:\test\result.txt
b) 记录按照顾客消费的总金额降序排列。
c) 每行记录内容为“姓名”、“消费金额”两列,中间以“,”(注:半角)分隔。如果顾客为“金卡”或“银卡”会员,要在顾客姓名后用“<会员类型>”标出。文件示例如下,张三为金卡会员,李四为非会员
张三<金卡>,1000.05
李四,545.00
注:1)编程过程中可以查阅API文档、网上查询任意资料,但请独立完成,不要互相抄袭。
2)Java语言答题的,请使用附带的Eclipse工程。并请查阅“答题说明
影院消费情况计算
最新推荐文章于 2024-09-05 09:27:36 发布