软件设计师案例分析当天每日一练试题地址:www.cnitpm.com/exam/ExamDayAL.aspx?t1=4
往期软件设计师每日一练试题汇总:www.cnitpm.com/class/27/e4_1.html
软件设计师案例分析每日一练试题(2024/9/15)在线测试:www.cnitpm.com/exam/ExamDayAL.aspx?t1=4&day=2024/9/15
点击查看:更多软件设计师习题与指导
软件设计师案例分析每日一练试题内容(2024/9/15)
试题五(共15分)
阅读下列说明和C++代码,将应填入 (n) 处的字句写在答题纸的对应栏内。
【说明】
某大型购物中心欲开发一套收银软件,要求其能够支持购物中心在不同时期推出的各
种促销活动,如打折、返利(例如,满3 00返1 00)等等。现采用策略( Strategy)模式实现该要求,得到如图5-1所示的类图。
【C++代码】
#include <iostream>
Using namespace std;
enum TYPE{NORMAL, CASH_DISCOUNT, CASH_RETURN};
class CashSup er{
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;m otieyCondition, double moneyReturn) {
this=>moneyCondition - moneyCondition;
this=>m oneyRetumF ;moneyRetum;
} .
double acceptCash(double money) {
double result = money;
if(money>=moneyCondition)
result = money - (int)(mon ey l mon eyCondition ) * moneyRetum;
Return result ;
}
};
class CashContext {
private:
CashSuper *cs;
public:
CashContext(inttype) {
switch(type) {
case NORMAL: //正常收费
(2)
case CASH;:RETURN //满30返100
(3)
Break;
case CASH DISCOUNT: //打八折
(4)
break;
}
}
double GetResult(double money) {
(5)
}
};
//此处略去main()函数
信管网考友试题答案分享:
信管网cnit**************:
virtual double acceptcash(){}<br>cs=cashsuper.accptcash(type)<br>cs=cashreturn.accptcash(type)<br>cs=cashdiscount.accptcash(type)<br>cs.accptcash(money)
信管网订阅号
信管网视频号
信管网抖音号
温馨提示:因考试政策、内容不断变化与调整,信管网网站提供的以上信息仅供参考,如有异议,请以权威部门公布的内容为准!
信管网致力于为广大信管从业人员、爱好者、大学生提供专业、高质量的课程和服务,解决其考试证书、技能提升和就业的需求。
信管网软考课程由信管网依托10年专业软考教研倾力打造,教材和资料参编作者和资深讲师坐镇,通过深研历年考试出题规律与考试大纲,深挖核心知识与高频考点,为学员考试保驾护航。面授、直播&录播,多种班型灵活学习,满足不同学员考证需求,降低课程学习难度,使学习效果事半功倍。
发表评论 查看完整评论 | |