设计相关的系统对外提供商品实时价格获取功能

某电商公司是多站点结构,目前已经开设了ABC三个子站点,这3个子站点的会员等级体系不同,但产品模型和数据是完全一致的,产品平时在各个站点分别有不同的销售价格;现计划在全公司范围内进行618大促,活动期间为6月17日零时-6月19日零时,针对不同用户的会员等级,对产品销售实行不同折扣优惠;
请设计相关的系统对外提供商品实时价格获取功能;
A站点
超级VIP用户:7折优惠
VIP用户:9折优惠
普通用户:无优惠
B站点
金牌客户:6.5折优惠
银牌客户:7.5折优惠
铜牌客户:8.5折优惠
普通用户:无优惠
C站点
皇冠会员:8折优惠
普通用户:无优惠
(ps:这是阿里面试官给的一个笔试题。。。我的方法不一定对也不一定好)

#include<bits/stdc++.h>
using namespace std;
/*input param:
  A_SVIP,A_VIP,A_NOVIP;//A站点超级会员,会员,普通用户
  B_GOLD,B_SILVER,B_COPPER,B_NOVIP;//B站点金牌,银牌,铜牌,普通用户
  C_CROWN,C_NOVIP;//C站点皇冠,普通用户
  输入:用户类型 空格 价格
  e.g. A_SVIP 100
 output param: newPrice 打折后的价格
*/
const double A_SVIP = 0.7;
const double A_VIP = 0.9;
const double A_NOVIP = 1;

const double B_GOLD = 0.65;
const double B_SILVER = 0.75;
const double B_COPPER = 0.85;
const double B_NOVIP = 1;

const double C_CROWN = 0.8;
const double C_NOVIP = 1;

class user {
public:
     user(string uType,double price) {
     userType = uType;
     curPrice = price;
     newPrice = price;
 }
 double getAprice() {
     if (userType == "A_SVIP") newPrice = curPrice * A_SVIP;
     else if (userType == "A_VIP") newPrice = curPrice * A_VIP;
     else if (userType == "A_NOVIP") newPrice = curPrice* A_NOVIP;
     else cout << "ERROR TYPE!" << endl;
     return newPrice;
 }
 double getBprice() {
     if (userType == "B_GOLD") newPrice = curPrice * B_GOLD;
     else if (userType == "B_SILVER") newPrice = curPrice * B_SILVER;
     else if (userType == "B_COPPER") newPrice = curPrice * B_COPPER;
     else if (userType == "B_NOVIP") newPrice = curPrice* B_NOVIP;
     else cout << "ERROR TYPE!" << endl;
     return newPrice;
 }
 double getCprice() {
     if (userType == "C_CROWN") newPrice = curPrice * C_CROWN;
     else if (userType == "C_NOVIP") newPrice = curPrice* C_NOVIP;
     else cout << "ERROR TYPE!" << endl;
     return newPrice;
 }
 double getNewPrice() {
  return this->newPrice;
 }
 private:
     string userType;
     double newPrice;
     double curPrice;
};

int main() {
   string uType;
   double p;
   while (cin >> uType >> p) {
   	user zhangsan(uType, p);
   	if (uType[0] == 'A') zhangsan.getAprice();
   	else if (uType[0] == 'B') zhangsan.getBprice();
   	else if (uType[0] == 'C') zhangsan.getCprice();
   	else cout << "ERROR TYPE!" << endl;
   	cout << "折后价为:"<<zhangsan.getNewPrice() << endl;
  }
 }
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值