试题详情

试题内容

阅读下列说明和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()函数
查看答案

软题库参考答案:暂时没有答案(仅供参考)

软题库解析:正在加载....

你可能感兴趣的试题

3题:

试题三
阅读下列说明以及图4-4和图4-5,回答问题1、问题2和问题3,将解答填入答题纸的对应栏内。
[说明]
某电话公司决定开发一个管理所有客户信息的交互式网络系统。系统的功能如下。
1.浏览客户信息:任何使用因特网的用户都可以浏览电话公司所有的客户信息(包括姓名、住址、电话号码等)。
2.登录:电话公司授予每个客户一个账号。拥有授权账号的客户,可以使用系统提供的页面设置个人密码,并使用该账号和密码向系统注册。
3.修改个人信息:客户向系统注册后,可以发送电子邮件或者使用系统提供的页面,对个人信息进行修改。
4.删除客户信息:只有公司的管理人员才能删除不再接受公司服务的客户的信息。系统采用面向对象方法进行开发,在开发过程中确定的类如表4-3所示。
表4-3  开发过程中确定的类

5题:

[试题5]

阅读下列说明和C++代码,回答下列问题。

[说明]

某咖啡店卖咖啡时,可以根据顾客的要求在其中加入各种配料,咖啡店会根据所加入的配料来计算费用。咖啡店所供应的咖啡及配料的种类和价格如表2-8所示。

表2-8 咖啡及配料的种类和价格

4题:

试题四
阅读下列说明和C代码,回答问题1至问题3,将解答写在答题纸的对应栏内。
【说明】
n-皇后问题是在n行n列的棋盘上放置n个皇后,使得皇后彼此之间不受攻击,其规则是任意两个皇后不在同一行、同一列和相同的对角线上。
 拟采用以下思路解决n-皇后问题:第i个皇后放在第i行。从第一个皇后开始,对每
个皇后,从其对应行(第i个皇后对应第i行)的第一列开始尝试放置,若可以放置,确
定该位置,考虑下一个皇后;若与之前的皇后冲突,则考虑下一列;若超出最后一列,则
重新确定上个皇后的位置。重复该过程,直到找到所有的放置方案。
【C代码】
 下面是算法的C语言实现。
(1)常量和变量说明
 pos:一维数组,pos[i]表示第i个皇后放置在第i行的具体位置
 count:统计放置方案数
 i,j,k:变量
 N:皇后数
2题:【说明】
某集团公司拥有多个分公司,为了方便集团公司对分公司各项业务活动进行有效管 理,集团公司决定构建一个信息系统以满足公司的业务管理需求。
【需求分析】
1.分公司关系需要记录的信息包括分公司编号、名称、经理、联系地址和电话。分公司编号唯一标识分公司信息中的每一个元组。每个分公司只有一名经理,负责该分公司的管理工作。每个分公司设立仅为本分公司服务的多个业务部门,如研发部、财务部、采购部、销售部等。
2.部门关系需要记录的信息包括部门号、部门名称、主管号、电话和分公司编号。部门号唯一标识部门信息中的每一个元组。每个部门只有一名主管,负责部门的管理工作。每个部门有多名员工,每名员工只能隶属于一个部门。
3.员工关系需要记录的信息包括员工号、姓名、隶属部门、岗位、电话和基本工资。其中,员工号唯一标识员工信息中的每一个元组。岗位包括:经理、主管、研发员、业务员等。
【概念模型设计】
根据需求阶段收集的信息,设计的实体联系图和关系模式(不完整)如图2-1 所示:
1题:

试题一
阅读下列说明和图。
[说明]
某公司欲开发招聘系统以提高招聘效率,其主要功能如下:
(1)接受申请
验证应聘者所提供的自身信息是否完整,是否说明了应聘职位,受理验证合格的申请,给应聘者发送致谢信息。
(2)评估应聘者
根据部门经理设置的职位要求,审查已经受理的申请;对未被录用的应聘者进行谢绝处理,将未被录用的应聘者信息存入未录用的应聘者表,并给其发送谢绝决策;对录用的应聘者进行职位安排评价,将评价结果存入评价结果表,并给其发送录用决策,发送录用职位和录用者信息给工资系统。
现采用结构化方法对招聘系统进行分析与设计,获得如图1-1所示的顶层数据流图、图1-2所示0层数据流图和图1-3所示1层数据流图。

2题:阅读下列说明,回答问题1至问题3,将解答填入答题纸的对应栏内。
【说明】
某公司拟开发一多用户电子邮件客户端系统,部分功能的初步需求分析结果如下:
(1)邮件客户端系统支持多个用户,用户信息主要包括用户名和用户密码,且系统中的用户名不可重复。
(2)邮件帐号信息包括邮件地址及其相应的密码,一个用户可以拥有多个邮件地址  (如userl@123.com)。
(3)一个用户可拥有一个地址薄,地址簿信息包括联系人编号、姓名、电话、单位、地址、邮件地址1、邮件地址2、邮件地址3等信息。地址薄中一个联系人只能属于一个用户,且联系人编号唯一标识一个联系人。
(4)一个邮件帐号可以含有多封邮件,一封邮件可以含有多个附件。邮件主要包括邮件号、发件人地址、收件人地址、邮件状态、邮件主题、邮件内容、发送时间、接收时间。其中,邮件号在整个系统内唯一标识一封邮件,邮件状态有己接收、待发送、已发送和已删除4种,分别表示邮件是属于收件箱、发件箱、己发送箱和废件箱。一封邮件可以发送给多个用户。附件信息主要包括附件号、附件文件名、附件大小。一个附件