试题详情

试题内容

试题六
阅读下列说明和C++代码,将应填入  (n)  处的字句写在对应栏内。
【说明】
已知某企业的采购审批是分级进行的,即根据采购金额的不同由不同层次的主管人员来审批,主任可以审批5万元以下(不包括5万元)的采购单,副董事长可以审批5万元至10万元(不包括10万元)的采购单,董事长可以审批10万元至50万元(不包括50万元)的采购单,50万元及以上的采购单就需要开会讨论决定。
采用责任链设计模式(Chain of Responsibility)对上述过程进行设计后得到的类图如图6-1所示。

【C++代码】
#include <string>
#include <iostream>
using namespace std;
class PurchaseRequest  {
public:
double Amount;       /*一个采购的金额*/
int Number;          /*采购单编号*/
string Purpose;      /*采购目的*/
};
class Approver {          /*审批者类*/
public:
Approver() { successor = NULL;    }
virtual void ProcessRequest(PurchaseRequest aRequest){
if  (successor  != NULL){  successor->  (1)   ;     }
}
void SetSuccessor(Approver *aSuccesssor) { successor = aSuccesssor; } private:
(2)  successor; };
class Congress  : public Approver {
public:
void ProcessRequest(PurchaseRequest aRequest) {
if(aRequest.Amount >= 500000){  /*决定是否审批的代码少略*/    }
else  (3)  ProcessRequest(aRequest);
}
class Director : public Approver {
public:
void ProcessRequest(PurchaseRequest aRequest){   /*此处代码省略*/
}
};
class President : public Approver {
public:
void ProcessRequest(PurchaseRequest aRequest)    /*此处代码省略*/  }
};
class VicePresident : public Approver {
public:
void ProcessRequest(PurchaseRequest aRequest)    /*此处代码省略*/   }
};
void main(){
Congress Meeting;  VicePresident Sam;  Director Larry ;  President
Tammy;
Meeting. SetSuccessor(NULL);      Sam. SetSuccessor(  (4)  );
Tammy. SetSuccessor(  (5)  );         Larry. SetSuccessor(  (6)  );
PurchaseRequest aRequest;   /*构造一采购审批请求*/
cin >> aRequest.Amount;      /*输入采购请求的金额*/
(7)   .ProcessRequest(aRequest);   /*开始审批*/
return  ;
}



查看答案

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

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

你可能感兴趣的试题

6题:阅读下列说明和java代码,将应填入  (n)  处的字句写在答题纸的对应栏内。
【说明】
某发票(lnvoice)由抬头(Head)部分、正文部分和脚注(Foot)部分构成。现采用装饰(Decorator)模式实现打印发票的功能,得到如图6-1所示的类图。

【java代码】 class invoice{
public void printInvoice(){
System.out.println ( "This is the content of the invoice!");
}
}
class Decorator extends Invoice {
protected Invoice ticket;
public Decor
1题:

试题一(共15分)
阅读下列说明,回答问题l至问题4,将解答填入答题纸的对应栏内。
【说明】
某证券交易所为了方便提供证券交易服务,欲开发一证券交易平台,该平台的主要功能如下:
(1)开户。根据客户服务助理提交的开户信息,进行开户,并将客户信息存入客户记录中,账户信息(余额等)存入账户记录中;
(2)存款。客户可以向其账户中存款,根据存款金额修改账户余额;
(3)取款。客户可以从其账户中取款,根据取款金额修改账户余额;
(4)证券交易。客户和经纪人均可以进行证券交易(客户通过在线方式,经纪人通过电话),将交易信息存入交易记录中;
(5)检查交易。平台从交易记录中读取交易信息,将交易明细返回给客户。
现采用结构化方法对该证券交易平台进行分析与设计,获得如图1-1所示的上下文数一据流图和图1-2所示的O层数据流图。
5题:

试题五
阅读下列说明和C补代码,将应填入  (n)  处的字句写在答题纸的对应栏内。
[说明]
现欲构造一文件/目录树,采用组合(Composite)设计模式来设计,得到的类图如下图所示:

[C++代码]
#include<list>
#include<iostream>
#include<string>
using namespace std;
class AbstractFile  {
protected:
string name;  //文件或目录名称
public:
void printName19{cout<<name;>    //打印文件或目录名称
virtual void add
7题:

试题七
阅读下列说明和Java代码,将应填入  (n)  处的字句写在的对应栏内。
[说明]
现欲实现一个图像浏览系统,要求该系统能够显示BMP、JPEG和GIF三种格式的文件,并且能够在Windows和Linux两种操作系统上运行。系统首先将BMP、JPEG和GIF三种格式的文件解析为像素矩阵,然后将像素矩阵显示在屏幕上。系统需具有较好的扩展性以支持新的文件格式和操作系统。为满足上述需求并减少所需生成的子类数目,采用桥接(Bridge)设计模式进行设计,所得类图如下图所示。

采用该设计模式的原因在于:系统解析BMP、GIF与JPEG文件的代码仅与文件格式相关,而在屏幕上显示像素矩阵的代码则仅与操作系统相关。
[Java代码]
class Matrix{    //各种格式的文件最终都被转化为
6题:

阅读以下说明和C++代码,将应填入  (n)  处的字句写在答题纸的对应栏内。
说明
通常情况下,用户可以对应用系统进行配置,并将配置信息保存在配置文件中。应用系统在启动时首先将配置文件加载到内存中,这些内存配置信息应该有且仅有一份。下面的代码应用了单身模式(Singleton)以保证Configure类只能有一个实例。这样, Configure类的使用者无法定义该类的多个实例,否则会产生编译错误。
C++代码
#include<iostream.h>
class Configure{
(1)  :
Configure(){}    //构造函数
public:
static Configure*Instance();
public:
int GetConf~ureData(){return data;}    //获取配置信息
int SetConfigureDate(int m_data
1题:阅读下列说明和图,回答问题1至问题4,将解答填入答题纸的对应栏内。
【说明】
某大学欲开发一个基于Web的课程注册系统。该系统的主要功能如下:
1、验证输入信息
(1)检查学生信息:检查学生输入的所有注册所需信息。如果信息不合法,返回学生信息不合法提示;如果合法,输出合法学生信息。
(2)检查学位考试信息:检查学生提供的学位考试结果。如果不合法,返回学位考试结果不合法提示;如果合法,检查该学生注册资格。
(3)检查学生资格:根据合法学生信息和合法学位考试结果,检查该学生对欲选课程的注册资格。如果无资格,返回无注册资格提示;如果有注册资格,则输出注册学生信息(包含选课学生标识)和欲注册课程信息。
2、处理注册申请
(1)存储注册信息:将注册学生信息记录在学生库。
(2)存储所注册课程:将选课学生标识与欲注册课程进行关联,然后存入课程库。
(3)发送注册通知:从学生库中读取注册学生信息,从课程库中读取所注册课程信息,给学生发送接受提示;给教务人员发送所注册课程信息和已注册学生信息。