题目内容 (请给出正确答案)
[主观题]

阅读下列说明和c++代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】现欲构造一文件/目录树,

阅读下列说明和c++代码,将应填入 (n) 处的字句写在答题纸的对应栏内。

【说明】

现欲构造一文件/目录树,采用组合(Composite)设计模式来设计,得到的类图如6—7所示:

阅读下列说明和c++代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】现欲构造一文件/目录树

【c++代码】

include<1ist>

include

include

using namespace std;

class AbstractFile{

protected:

string name;//文件或目录名称

public:

void printName(){cout<*getChildren()=0; //获得一个目录的子目录或文件

};

class File:public AbstractFile{

public:

File(string name){ (1) =name;)

void addChild(AbstractFile*file){return ;)

void removeChiid(AbstractFile*file){return;}(2) getChildren(){return (3 ) ;}

};

class Folder:public AbstractFile{

private:

listchildList; //存储子目录或文件

public:

Folder(string name){ (4) =name;}

void addChild(AbstractFile*file){childList.push back(file);}

void removeChiid(AbstractFile*file)(chiidList.remove(file);}

list*getChildren(){return (5) ;)

};

voidmain(){

//构造一个树形的文件/目录结构

AbstractFile*rootFolder=new Folder(“C:\\”);

AbstractFile*compositeFolder=flew Folder(”composite”);

AbstractFile*windowsFolder=new Folder(”windows”);

AbstractFile*file=new File(”TestComposite.java”);

rootFolder->addChild(compositeFolder);

rootFolder->addChild (windowsFolder);

compositeFolder->addChiid(file);

)

查看答案
如搜索结果不匹配,请 联系老师 获取答案
您可能会需要:
您的账号:,可能会需要:
您的账号:
发送账号密码至手机
发送
更多“阅读下列说明和c++代码,将应填入(n)处的字句写在答题纸的…”相关的问题

第1题

阅读下列说明和C程序,将应填入(n)处的字句写在对应栏中。 [说明] 借助一个栈结构,可实现二叉树

阅读下列说明和C程序,将应填入(n)处的字句写在对应栏中。

[说明]

借助一个栈结构,可实现二叉树的非递归遍历算法。InOrderTraverse数实现中序非递归遍历,遍历

过程如下:

若不是空树,根节点入栈,进入左子树;若已经是空树,则栈顶元素出栈,访问该元素(根节点),进入该节点的右子树,继续直到遍历完成。

函数中使用的预定义符号如下:

typedef struct BiTNode{

int data;

struct BiTNode *iChiid,*rChiid;

} BiTNode,*BiTree;

typedef struct SNode{/*链栈的节点类型*/

BiTree elem;

struct SNode *next;

}SNode;

[函数]

int InOrderTraverse(BiTree root)

{

BiTree P;

SNode *q,*stop=NULL;/*不带头节点的单链表作为栈的存储结构*/

P=root;

while(p !=NULL || stop !=NULL){

if( (1) ){ /*不是空树*/

q=(SNode*)malloc(sizeof q);

if(q==NULL)return-1;

/*根节点指针入栈*/

(2);

q->elem=P;

stop=q;

P=(3); /*进入根的左子树*/

}else{

q=stop;

(4); /*栈顶元素出栈*/

printf("%d|,q->elem->data); /*防问根节点*/

P=(5); /*进入根的右子树*/

free(q); /*释放原栈顶元素*/

}/*if*/

}/*while*/

return 0;

}/*InOrderTraverse*/

(1)

点击查看答案

第2题

简要解释图(a)中用例U1和U3之间的extend关系的内涵。

点击查看答案

第3题

ATM机有如下状态:空闲、银行卡验证、业务选择等待、取款金额输入、密码修改、出钞、单据打印。ATM机一般

处于空闲状态,当有客户插入银行卡,则进行银行卡验证,若银行卡无效则结束服务,否则进入业务选择等待。业务有取款、修改密码等,也可以选择退出结束服务,ATM返回空闲状态。选择取款业务后,等待取款金额输入,确认后判断余额是否足够,若余额不足,则给出提示信息,并进入业务选择等待;若余额充足,则出钞,若客户需要打印单据则进入单据打印状态,否则返回业务选择等待。选择任意一个业务后,可以取消返回业务选择等待。图3-2描述了ATM状态的转变情况。

[图3-2]

请指出判定A、转换B及状态C分别是什么。

点击查看答案

第4题

若另有表Teach(CName,TName)存储教师任课情况,Tname表示教师名。用SQL创建一个含有学号、姓名、课程

名、成绩、任课教师名的“主修专业为计算机CS”的学生成绩视图,并要求进行修改、插入操作时保证该视图只有计算机系的学生。请在SQL语句空缺处填入正确的内容。

CREATE VIEW SG (1)

SELECT Student.SNo,SName,Grade,Course.CName,TName

FROM Student,Grade,Teach,

WHERE (2)

AND (3)

AND Major='cs',

(4);

(1)

点击查看答案

第5题

根据题意,指出图1-3(A)中缺失的数据流的名称,并指出该数据流的起点和终点。

点击查看答案

第6题

() 阅读下列说明和JAVA代码,将应填入空(n)处的字句写在答题纸的对应栏内。【说明】 某中学开展中外

中学生野外生存夏令营活动,由于中外学生的语言障碍,随队为外籍学员配置一名翻译。以下代码采用适配器(Adapter)模式模拟翻译适配器。其类图如下:

点击查看答案

第7题

阅读以下说明和C代码,将应填入(n)处的字句写在对应栏内。 [说明] 函数combine(a,b,c)是计算两个

阅读以下说明和C代码,将应填入(n)处的字句写在对应栏内。

[说明]

函数combine(a,b,c)是计算两个整数的组合数。由于计算结果可能超出10ng整型的可表示范围,故采用数组方式存储,例如:k位长整数m用数组c[]存储结构如下:m=c[k]×10k-1+c[k-1]×10k-2+…+c[2]×10+c[1],利用c[0]存储长整数m的位数,即c[0]=k。数组的每个元素只存储长整数m的一位数字,长整数运算时,产生的中间结果的某位数字可能会大于9,这是就应该调用format将其归整,使数组中的每个元素始终只存储长整数的一位数字。

整数a和b(a>b)的组合数为:,其中u1=a,u2]=a-1,…,ub=a-b+1,d1=1,d2=2,…,db=b。为了计算上述分式,先从u1,u2,…,ub中去掉d1×d2×…×db的因子,得到新的u1,u2,…,ub,然后再将它们相乘。

[函数]

define NAXN 100

int gcd(int a,int b)//求两个整数a和b的最大公因子

{

if(a<b){

intC=a;a=b;b=c;

}

for(inti=b;i>=2;i--){

if( (1) )return i;

}

return 1;

void format(int *a)//将长整数数组归整

{

int i;

for(i=1;i<a[0]||a[i]>=10;i++){

if(i>=a[0]) (2);

a[i+1]+=a[i]/10;

a[i]=a[i]%10;

}

if(i>a[0]) (3);

}

void combine(int a,int b,int *C)

{

int i,J,k,x;

int d[MAXN],u[MAXN];

k=0;

for(i=a;i>=a-b+1;i--)u[++k]=i;

u[0]=b;

for(i=1;i<=b;i++)d[i]=i;

for(i=1;i<=u[0];i++){//从u中各元素去掉d中整数的因子

for(j=1;j<=b;j++){

x=gcd(u[i],d[j]);//计算最大公约数

u[i]/=X;

d[j]/=x;

}

(4);C[1]=1;//长整数c初始化

for(i=1;i<=u[0];i++)(//将u中各整数相乘,存于长整数c中

if(u[i]!=1){

for(j=1;j<=c[0];j++){

C[j]=(5);

}

format(C);//将长整数c归整

}

}

}

(1)

点击查看答案

第8题

如下的SQL语句是用于查询“每个学生的选修课程数、总成绩、平均成绩”的不完整语句,请在空缺处填入正

确的内容。

SELECT Student.SNo, (1),SUM(Grade),AVG(Grade)

FROM Student,Grade

WHERE Student.SNo=Grade.SNo,

GROUP BY (2);

(1)

点击查看答案

第9题

阅读以下函数说明和Java代码,将应填入(n)处的字句写在对应栏内。【说明】 以下程序实现数据的排序,

阅读以下函数说明和Java代码,将应填入(n)处的字句写在对应栏内。

【说明】

以下程序实现数据的排序,将n个整数分别按照升序和降序进行排序,类SortInt_1实现升序排序,类SortInt_2实现降序排序。

【Java代码】

class SortInt_1{

int i,i,k,temp;

void SortInt(int a1,int a2[]){//升序排序

for(i=0;i<a1-1;i++){

k=i;

for(j=i+1;j<a1;j++){

if((1)) k=j;

if(k !=i){

temp=a2[i];a2[i]=a2[k];a2[k]=temp;

}

}

}

}

}

class SortInt_2 (2) {

int i,j,k,temp;

void SortInt(int a1, int a2[]){//降序排序

for(i=0; i<a1-1;i++){

k=i;

for(j=i+1;j<a1;j++){

if((3))k=j;

}

if(k !=i){

temp=a2[i];a2[i]=a2[k];a2[k]=temp;

}

}

}

}

public class test{

public static void main(String args[]){

int a[]={10,55,100,35,87,90,100,16};

SortInt_1 NewInt=(4);

NewInt.SortInt(a.lenvh,a);//调用SortInt_1类的方法

System.out.println("升序排列的数据: ");

for(int i=0;i<a.length;i++){

System.out.print(a[i]+" ");

}

System.out.println();

NewInt=new SortInt_2();//创建类SortInt_2的对象

(5);//调用相应方法进行降序排序

System.out.println("降序排列的数据: ");

for(int i=0;i<a.length;i++){

System.out.print(a[i]+" ");

}

}

}

点击查看答案

第10题

在绘制数据流图时,需要注意加工的绘制。请给出三种在绘制加工的输入、输出时可能出现的错误。

点击查看答案
热门考试 全部 >
相关试卷 全部 >
账号:
你好,尊敬的上学吧用户
发送账号至手机
获取验证码
发送
温馨提示
该问题答案仅针对搜题卡用户开放,请点击购买搜题卡。
马上购买搜题卡
我已购买搜题卡, 登录账号 继续查看答案
重置密码
确认修改
谢谢您的反馈

您认为本题答案有误,我们将认真、仔细核查,
如果您知道正确答案,欢迎您来纠错

警告:系统检测到您的账号存在安全风险

为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!

微信搜一搜
上学吧
点击打开微信
警告:系统检测到您的账号存在安全风险
抱歉,您的账号因涉嫌违反上学吧购买须知被冻结。您可在“上学吧”微信公众号中的“官网服务”-“账号解封申请”申请解封,或联系客服
微信搜一搜
上学吧
点击打开微信