首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下函数说明和C代码,回答问题 [说明] 在某些系统中,存在非常复杂的对象,可以采用循序渐进的方式,进行组合将小对象组合成复杂的对象。 以下实例展示了Builder(生成器)模式。该实例用来建立“文件”,文件内容包括:一个标题、一串字符以及
阅读以下函数说明和C代码,回答问题 [说明] 在某些系统中,存在非常复杂的对象,可以采用循序渐进的方式,进行组合将小对象组合成复杂的对象。 以下实例展示了Builder(生成器)模式。该实例用来建立“文件”,文件内容包括:一个标题、一串字符以及
admin
2012-02-20
58
问题
阅读以下函数说明和C代码,回答问题
[说明]
在某些系统中,存在非常复杂的对象,可以采用循序渐进的方式,进行组合将小对象组合成复杂的对象。
以下实例展示了Builder(生成器)模式。该实例用来建立“文件”,文件内容包括:一个标题、一串字符以及一些有项目符号的项目。Builder类规定组成文件的方法,Director类利用这个方法产生一份具体的文件。图7-1显示了各个类间的关系。
[图7-1]
以下是C语言实现,能够正确编译通过。
[C代码]
typedef void( (1) )(char *title);
typedef void(*fun2)(char items[] [10], int N);
typedef char* (*fun3)();
char buffer[500];
struct Builder{//构造器
fun1 makeTitle;
(2) makeString;
fun2 makeItems;
fun3 getResult;
};
struct Director{
struct Builder builder;
};
char* construct( (3) director)//构造文件
{
char items[2][10] = {"早安", "午安"};
director->builder.makeTitle("Greeting");
director->builder.makeString("从早上到白天结束");
director->builder.makeItems(items, 2);
director->builder.makeString("到了晚上");
strcpy(items[0], "晚安");
strcpy(items[1], "好梦");
director->builder.makeItems(items, 2);
return director->builder.getResult();
}
void TXTmakeTitle(char* title)
{
strcat(buffer, "『");
Strcat(buffer, title);
strcat(buffer, "』\n\n");
}
void TXTmakeString(char* str)
{
strcat(buffer, "■");
Strcat(buffer, str);
strcat(buffer, "\n\n");
}
void TXTmakeItems(char items[] [10], int N)//将items加入文件中
{
for(int i = 0, i < N; i++){
strcat(buffer, "·");
strcat(buffer, (4) );
strcat(buffer, "\n");
}
strcat(buffer, "\n");
}
char* TXTgetResult()
{
return buffer;
}
void main()
{
Director director;
(5) = ’\0’;//清空缓冲区,使目前缓冲区中的内容不影响新生成的文件
director.builder.makeTitle = TXTmakeTitle;
director.builder.makeString = TXTmakeTitle;
director.builder.makeItems = TXTmakeItems;
director.builder.getResult = TXTgetResult;
char* result = construct(&director);
printf("%s\n", result);
}
选项
答案
*funl funl struct Director* itemsi buffer[0]
解析
转载请注明原文地址:https://jikaoti.com/ti/w3i7FFFM
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
针对下列程序段,对于(A,B)的取值,以下(57)测试用例组合能够满足条件覆盖的要求。IF((A-10)=20AND(B+20)>10)THENC=0IP((A-30)<10AND(B-30)<0)THENB=30①A=5
某软件公司在招聘软件评测师时,应聘者甲向公司做如下保证:①经过自己测试的软件今后不会再出现问题;②在工作中对所有程序员一视同仁,不会因为在某个程序员编写的程序中发现的问题多,就重点审查该程序,以免不利于团结;③承诺不需要其他人员,自己就可以独立进行测
堆是一种数据结构,分为大顶堆和小顶堆两种类型。大(小)顶堆要求父元素大于等于(小于等于)其左右孩子元素。则________________是一个小顶堆结构。堆结构用二叉树表示,则适宜的二叉树类型为________________。对于10个结点的小顶堆,其
面向对象分析与设计是面向对象软件开发过程中的两个重要阶段,下列活动中,(25)不属于面向对象分析阶段。
(33)不属于功能测试用例构成元素。
以下关于信息和数据的描述中,错误的是________________。
计算机系统中,虚拟存储体系由______两级存储器构成。
正确的集成测试描述包括(43)。①集成测试也叫做组装测试,通常是在单元测试的基础上,将模块按照设计说明书要求进行组装和测试的过程②自顶向下的增殖方式是集成测试的一种组装方式,它能较早地验证主要的控制和判断点,对于输入输出模块、复杂算法模
在计算机系统中常用的输入/输出控制方式有无条件传送、中断、程序查询和DMA等。其中,采用______方式时,不需要CPU控制数据的传输过程。
序言性注释是指在每个程序或模块开头的一段说明,起辅助理解程序的作用,一般包括:程序的表示、名称和版本号;程序功能描述;接口与界面描述;输入输出数据说明:开发历史;与运行环境有关的信息等。下列叙述中不属于序言性注释的是(23)。
随机试题
在大陆法系中,代理法的调整范畴为()
保险的构成是指保险得以成立的基本条件,又称保险的()。
下列关于世界银行工程造价构成中的其他当地费用,阐述正确的是()。
在其他条件相同的情况下,考虑资金时间价值时,下列现金流量图中效益最好的是 ( )。
某封闭式基金2015年实现净收益为一100万元,2016年实现净收益300万元,那么此基金最少应分配收益()万元。
如图所示:F1(-c,0),F2(c,0)为双曲线x2/3-y2=1的左右焦点,P为圆M:x2+(y-1)2=1上的任意一点.求|PF1|的最小值.
春花:秋月:江南
机关公文文稿经签发后,即为:
BiologyCardiacMuscleWhathappenswhenanelectricalimpulsegeneratedinonepartoftheheartspreadstoallthecardiacmu
A、Travel.B、Sports.C、Foreignlanguages.D、Computergames.A在女士问男士技能和兴趣的时候,男士说他擅长电脑并且能说西班牙语,他还非常喜欢旅游。因此答案为A。B“运动”男士没有提及:男士会说西班牙语
最新回复
(
0
)