軟件設計師案例分析當天每日一練試題地址:m.xiexiliangjiufa.com/exam/ExamDayAL.aspx?t1=4
往期軟件設計師每日一練試題匯總:m.xiexiliangjiufa.com/class/27/e4_1.html
軟件設計師案例分析每日一練試題(2022/7/30)在線測試:m.xiexiliangjiufa.com/exam/ExamDayAL.aspx?t1=4&day=2022/7/30
點擊查看:更多軟件設計師習題與指導
軟件設計師案例分析每日一練試題內容(2022/7/30)
試題五(共15分)
閱讀下列說明和C++代碼,將應填入 (n) 處的字句寫在答題紙的對應欄內。
【說明】
某大型購物中心欲開發(fā)一套收銀軟件,要求其能夠支持購物中心在不同時期推出的各
種促銷活動,如打折、返利(例如,滿3 00返1 00)等等?,F采用策略( 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()函數
信管網考友試題答案分享:
信管網cnitpm475547856609:
virtual double acceptcash(){}<br>cs=cashsuper.accptcash(type)<br>cs=cashreturn.accptcash(type)<br>cs=cashdiscount.accptcash(type)<br>cs.accptcash(money)
溫馨提示:因考試政策、內容不斷變化與調整,信管網網站提供的以上信息僅供參考,如有異議,請以權威部門公布的內容為準!
信管網致力于為廣大信管從業(yè)人員、愛好者、大學生提供專業(yè)、高質量的課程和服務,解決其考試證書、技能提升和就業(yè)的需求。
信管網軟考課程由信管網依托10年專業(yè)軟考教研傾力打造,官方教材參編作者和資深講師坐鎮(zhèn),通過深研歷年考試出題規(guī)律與考試大綱,深挖核心知識與高頻考點,為學員考試保駕護航。面授、直播&錄播,多種班型靈活學習,滿足不同學員考證需求,降低課程學習難度,使學習效果事半功倍。
發(fā)表評論 查看完整評論 | |