1 总体说明 考生需要模拟实现一个简单的购物结算系统,实现挑选和删除商品、按照最佳优惠方案进行结算、查询购物车订单信息及购物卡余额和积分的功能。 系统初始化时购物卡中有3000元余额和150积分,可以输入命令来初始化系统。 1.1 购物活动细则 只要购物卡余额足够,可以进行多次购买,每次购买活动可以包含如下活动: 1、多次挑选商品,每次挑选形成购物车中的一条商品订单; 2、多次删除商品订单,每次只能删除一条订单; 结算的是当前购物车中所有订单,结算完成即本次购买活动结束,同时清空购物车并更新购物卡余额和积分;
1.2 商品优惠细则 购买商品时优惠方案分为单项优惠方案和总价优惠方案,在享受单项优惠的同时如满足一定条件可以再享受总价优惠。
各种商品的单项优惠方案列表:
单项优惠方案序号:
1、在一次购买活动中,同种商品只能有一种单项优惠方案;总价优惠方案:在一次购买活动结算时,所有商品单项优惠后总消费金额大于等于500时,可以再使用“积分抵现”或“折上折”优惠: (1) 积分抵现:1个积分抵1元现金,购物卡积分大于等于120只能使用120个积分,不足120,全部使用; (2) 折上折:在单项商品优惠后总金额基础上,再打8折; 1.3 约束 * 商品价格最小单位到元,所有涉及价格计算中不足1元,向下取整,舍掉余数部分。例如:计算出的实际价格为563.9,则取整为563; * 本次购买活动新增的积分不能在当次购买中使用; * 购物卡余额和积分不能透支; 2 操作说明 命令字与第一个参数间使用一个空格分隔,多个参数间使用半角“-”分隔,参数间没有空格。考试系统会对输入命令格式进行处理,考生不需要关注输入命令格式的合法性,只需要实现命令处理函数。对于涉及多个参数的命令,多个参数同时出错的情况不作为考察点。 2.1 系统初始化 命令格式:r 功能说明:将购物卡金额和积分分别初始化为3000、150; 约束说明:系统在任意阶段均可执行r初始化系统; 输出说明:输出操作成功提示(执行完r命令后系统会自动输出操作结果,考生不需要再次调用输出函数),例:
2.2 挑选商品 命令格式:o 商品序号-商品数量 功能说明: (1) 每次挑选只能指定一种商品,且商品数量不超过100(0<每次挑选商品数量<=100),同一种商品可以多次挑选; |