信管网每日一练
软件设计师 - 每日一练 导航

软件设计师案例分析每日一练试题(2023/5/29)

2023年05月30日来源:信管网 作者:cnitpm

软件设计师案例分析当天每日一练试题地址:www.cnitpm.com/exam/ExamDayAL.aspx?t1=4

往期软件设计师每日一练试题汇总:www.cnitpm.com/class/27/e4_1.html

软件设计师案例分析每日一练试题(2023/5/29)在线测试:www.cnitpm.com/exam/ExamDayAL.aspx?t1=4&day=2023/5/29

点击查看:更多软件设计师习题与指导

软件设计师案例分析每日一练试题内容(2023/5/29)

阅读下列说明和C++代码,将应填入  (n)  处的字句写在答题纸的对应栏内。
【说明】
某大型购物中心欲开发一套收银软件,要求其能够支持购物中心在不同时期推出的各种促销活动,如打折、返利(例如,满300返100)等等。现采用策略(Strategy)模式实现该要求,得到如图5-1所示的类图。

图5-1 策略模式类图
【C++代码】
#include
using namespace std;
enum TYPE{NORMAL, CASH_DISCOUNT, CASH_RETURN};
class CashSuper{
public:
(1);
};
class CashNormal : public CashSuper {     //正常收费子类
public:
double acceptCash(double money) {     retum money;    }
};
class CashDiscount : public CashSuper {
private:
double moneyDiscount;     //  折扣率
public:
CashDiscount(double discount) {    moneyDiscount= discount;    }
double acceptCash(double money) {    retum money * moneyDiscount;    }
};
class CashRetum : public CashSuper {      // 满额返利
private:
double moneyCondition;      // 满额数额
double moneyReturn;       // 返利数额
public:
CashRetnm(double motieyCondition, double moneyReturn) {
this->moneyCondition=moneyCondition;
this->moneyReturn=moneyReturn;
}
double acceptCash(double money) {
double result = money;
if(money>=moneyCondition)
result=money-(int)(money/moneyCondition ) * moneyReturn;
return  result ;
}
};
class CashContext {
private:
CashSuper *cs;
public:
CashContext(int type) {
switch(type) {
case NORMAL:           //正常收费
(2)       ;
break;
case CASH_RETURN:       //满300返100
(3)        ;
break;
case CASH_DISCOUNT:     //打八折
(4)        ;
break;
}
}
double GetResult(double money) {
(5)     ;
}
};
//此处略去main()函数
信管网试题答案与解析:www.cnitpm.com/st/3816115424.html

信管网考友试题答案分享:

信管网试题答案与解析:www.cnitpm.com/st/3816115424.html

温馨提示:因考试政策、内容不断变化与调整,信管网提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准!

分享至:

信管网 - 信息系统项目管理专业网站

下载APP-在线学习

培训课程

0元畅享

考试题库

免费资料

客服咨询