首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件proj2,该工程中含有一个源程序文件proj2.cpp。其中定义了类Set和用于测试该类的主函数main。类Set是一个用于描述字符集合的类,在该字符集合中,元素不能重复(将“a”和“A”视为不同元素),元素最大个数为10
请打开考生文件夹下的解决方案文件proj2,该工程中含有一个源程序文件proj2.cpp。其中定义了类Set和用于测试该类的主函数main。类Set是一个用于描述字符集合的类,在该字符集合中,元素不能重复(将“a”和“A”视为不同元素),元素最大个数为10
admin
2021-06-10
44
问题
请打开考生文件夹下的解决方案文件proj2,该工程中含有一个源程序文件proj2.cpp。其中定义了类Set和用于测试该类的主函数main。类Set是一个用于描述字符集合的类,在该字符集合中,元素不能重复(将“a”和“A”视为不同元素),元素最大个数为100。为该类实现一个构造函数Set(char*s),它用一个字符串来构造一个集合对象,当字符串中出现重复字符时,只放入一个字符。此外,还要为该类实现另一个成员函数InSet(char c),用于测试一个字符e是否在一个集合中,若在,则返回true;否则返回false。
构造函数Set和成员函数InSet的部分实现代码已在文件proj2.cpp中给出,请在标有注释“//TODO:”的行中添加适当的代码,将这两个函数补充完整,以实现其功能。
提示:在实现构造函数时,可以调用InSet函数来判断一个字符是否已经在集合中。
注意:只在指定位置编写适当代码,不要改动程序中的其他内容,也不要删除或移动“//****found****”。
//proj2.cpp
#include
using namespace std;
const int MXNUN=100;
class Set{
private:
int num; //元素个数
char setdata[NAXNUM]; //字符数组,用于存储集合元素
public:
set(char*s); //构造函数,用字符串s构造一个集合对象
bool InSet(char c);
//判断一个字符c是否在集合中,若在,返回true,否则返回false
void Print()const; //输出集合中所有元素
};
Set::Set(char*s)
{
num=0;
while(*s){
//********found********
if(_________)//TODO:添加代码,测试元素在集合中不存在
//********found********
__________;//TODO:添加一条语句,加入元素至集合中
S++;
}
}
bool Set::InSet(char c)
{
for(int i=0 ; i
//********found********
if(_______) //TODO:添加代码,测试元素C是否与集合中某元素相同
//********found********
__________;//TODO:添加一条语句,进行相应处理
return false ;
}
void Set::Print()conSt
{
Cout<<"Set elements:"<<
endl;
for(int i=0;i
cout<
<<’’;
cout<
}
int main()
{
char s[MAXNUM];
cin.getline(s,MAXNUM-1);
//从标准输入中读入一行
Set setobj (s); /构造对象setobj
setobj.Print(); //显示对象
setobj中内容
return 0;
}
选项
答案
(1)!InSet(*s) (2)setdala[num++]=*s (3)c==setdata[i] (4)return true
解析
(1)主要考查考生对成员函数的掌握,题目要求:添加代码,测试元素在集合中不存在,由类的定义可知函数bool InSet(char c)可以测试字符c是否在集合中,因此这里直接调用函数bool InSet(char c)即可。
(2)题目要求:添加一条语句,加入元素至集合中,集合用数组setdata表示,直接把元素添加到数组中即可。
(3)主要考查考生对if沿句的掌握,题目要求:测试元素c是否与集合中某元素相同。前一条语句是个for循环,利用下标i遍历整个集合,通过if语句中的判断条件判断c是否在集合中,用“==”判断。
(4)主要考查考生对成员函数的掌握,先看函数的注释:判断一个字符c是否在集合中,若在,返回true,否则返回false。if语句成立时,说明字符c存在于集合中,因此应该返回true。
转载请注明原文地址:https://kaotiyun.com/show/1Nfp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
请打开考生文件夹下的解决方案文件pmj3,其中声明了一个单向链表类sList。sList的成员函数Prepend的功能是在链表头部加入一个新的元素。请编写成员函数Prepend。在main函数中给出了一组测试数据,此时程序的输出应为:B->A->
在下列原型所示的C++函数中,按“传值”方式传递参数的是()。
已知数组arr的定义如下:intarr[5]={1,2,3,4,5};下列语句中输出结果不是2的是()。
有如下程序:#inc1ude<iostream>usingnamespacestd;c1assBase{intx:public;Base{intw=0};x(n){cout<<n;}
有如下程序:#includeusingnamespacestd;classA{public:AO{cout
一棵二叉树共有25个结点,其中5个是叶子结点,则度为1的结点数为()。
下列描述中,不属于面向对象思想主要特征的是()。
构成计算机软件的是()。
下面不属于软件设计原则的是()。
若MyClass为一个类,执行“MyClassa[4],宰p[5];"语句时会自动调用该类构造函数的次数是()。
随机试题
汽车电路图识读要领有哪些?
我国《民法通则》规定:民法所称的“以上”、“下”、“以内”、“届满”,包括本数;所称的“不满”、“以外”,不包括本数。这一规定属于__________。
某实行监理的工程,施工合同采用《建设工程施工合同(示范文本)》,合同约定:吊装机械闲置补偿费600元/台班,单独计算,不计入直接费。经项目监理机构审核批准的施工总进度计划如下图所示(时间单位:月)。施工过程中发生下列事件:事件一:开工
管道系统的清洗应在()进行。
下列关于资产折旧年限,表述错误的是()。
B公司的资本目前全部由发行普通股取得,其有关资料如下:B公司准备按7%的利率发行债券900000元,用发行债券所得资金以每股15元的价格回购部分发行在外的普通股。因发行债券,预计公司股权成本将上升到11%。该公司预期未来息税前利润具有可持续性,且预备将
收益性物业的交易日期调整实质上是对()
某地级市召开市长办公会议,讨论“市长专线办公室”(以下简称“专线办”)要求增加编制和升格的请示。市政府办主任先作说明,认为“专线办”设立以来,每天平均接热线电话30多个,多时接热线电话70多个,可编制才3人,日夜轮流值班。他们不仅要对热线电话内容记录,经市
某企业承接了某政府部门的系统集成项目。项目投标费用为5万元,预计每个子项目开发完成后的维护成本为50万元,项目初步的WBS分解结果如下图所示:请说明成本估算和成本预算之间的区别与联系。
FDDI规定了一种很特殊的定时和同步方法,即(28)。
最新回复
(
0
)