首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC++6.0打开考生文件夹下的源程序文件3.cpp。其中定义的类不完整,按要求完成下列操作,将类的定义补充完整。 (1)完成构造函数,设置数组元素的个数为0,请在注释1之后添加语句。 (2)完成函数AddMember(int n),如
使用VC++6.0打开考生文件夹下的源程序文件3.cpp。其中定义的类不完整,按要求完成下列操作,将类的定义补充完整。 (1)完成构造函数,设置数组元素的个数为0,请在注释1之后添加语句。 (2)完成函数AddMember(int n),如
admin
2013-11-15
72
问题
使用VC++6.0打开考生文件夹下的源程序文件3.cpp。其中定义的类不完整,按要求完成下列操作,将类的定义补充完整。
(1)完成构造函数,设置数组元素的个数为0,请在注释1之后添加语句。
(2)完成函数AddMember(int n),如果参数n包含在类的数据成员数组中,则返回O,否则把数据写入数组,然后返回1,请在注释2之后添加语句。
(3)完成函数DelMember(int n),如果变量在数据中,则删除该变量,并且返回1,如果不存在,则返回0,请在注释3之后添加语句。
(4)完成成员函数IsInclude(int n)的定义,该函数检查参数n是否在类的数据成员数组array中,如果在,返回1,否则返回0。请在注释4之后添加语句。
注意:除在指定位置添加语句之外,不要改动程序中的其他内容。
试题程序:
#include
#define MAX LENGTH 500
class TCArr
{
public:
TCArr()
{
//********1********
}
int AddMember(int n)
{
for(int i=0;i
{
//********2********
return 0:
}
Array[length++]=n;
return 1;
}
int DelMember(int n)
{
int i:
for(i=0;i<length;i++)
{
if(Array
==n)
{
break;
}
}
//********3********
{
for(;i<length-1;i++)
{
Array
=Array[i+1];
}
length--;
return 1;
}
return 0;
}
int IsInclude(int n)
{
for(int i=0;i<length;i++)
{
//********3********
{
return 1;
}
}
return 0;
}
private:
int Array[MAX_LENGTH];
int length;//用来记录数组的个数
};
int main()
{
TCArr obj;
cout<
cout<
cout<
cout<
cout<
cout<
cout<
cout<
cout<
cout<
return 0;
}
选项
答案
(1)应添加“length=0;”。 (2)将“if(Array[i]=n)”补充完整为“if(Array[i]==n)”或“if(n==Array[i])”。 (3)将“if()”补充完整为“if(i(1ength)”或“if(i!=length)”。 (4)将“if()”礼充完整为“if(Array[i]==n)”或“if(n==Array[i])”。
解析
本题使length初始化为0,因此第1处应添加“length=0;”。
第2处是检查n是否已经在数组当中存在,用if语句来判断,即if(Array
==n)或if(n==Array
)。DelMember(int n)函数用于删除指定的元素,由于元素在数组当中的位置未知,因此必须先查找该元素的位置,在该函数的实现过程中通过for循环来完成,即第一个for循环查找n在数组中的位置。如果n存在于数组中,那么if中的break语句就会执行跳出循环,此时循环变量i的值会小于length,即通过判断;的值是否小于length值可以知道n是否存在于数组中,如果存在于数组中,接下来进行删除操作,即第3处的语句应改为if(i
==n)“或"if(n==Arrav
)”。
转载请注明原文地址:https://www.kaotiyun.com/show/KHNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
对于嵌套的if…else语句,C++语法规定else总是与【】匹配。
已知类MyClas有一个只需要一个double型参数的构造函数,其将运算符“+”重载为友元函数。要使语句序列MyClasx(1.2),y(2.3),z(0);z=x+y;能够正常运行,运算符函数operator+应在类中声明为()。
下列C++运算符中,优先级最高的是()。
下面程序的运行结果为()。#include<iostream.h>voidswap(int&a,intb){inttemp;temp=a++;a=b;b=temp;}voidmain(){inta=2,b=3;swap(a,b);
下列字符串中,正确的C抖标识符是()。
下面对C++重载运算符描述正确的是()。
下列运算符中,()运算符在C++中不能重载。
设有关系模式R(A,B,C,D,E,P),其函数依赖集为{E→D,C→B,(C,E)→F,B→A},则R最高达到______。
如果表达式++i*k中的“++”和“*”都是重载的非静态成员运算符,则采用运算符函数调用格式,该表达式还可表示为=______。
有如下语句序列:intk=0;do{k+=5;cout<<’$;}while(k<19);while(k-->0)cout<<’*’;执行上面的语句序列输出字符$和*的个数分别是______。
随机试题
A、autumnB、difficultyC、fluteD、supposeB
日本人A与常年在中国作业务代表的美国人保罗在云南世博会旅游时相识,二人于1999年5月1日在美国举行了婚礼,婚后A随保罗在北京定居并申请放弃日本国籍,于2000年5月20日获得批准。之后,其向中国有关部门申请加入中国国籍。2000年5月20日后,A的民事行
下列属于负债类账户的是()。
我国现行预算法关于政府举借债务的规定是,“除法律和国务院另有规定外,()”。
财政收支状况对货币供应量有重要影响,如果财政收支平衡。货币供应量()。
用二维表数据来表示实体及实体之间联系的数据模型为______。
TherobotpresentedtothepubliconFridayinTokyo,JapanWhatdoesRonArkinthinkofWL-16?
Allthesesinfulactsmustbecrackeddownonbyallcountriesandsocieties.
MakingandWritingWordsI.AbriefintroductionA.Makingwordsisconceptuallyanengagingandeffectiveinstructionaltask.B
A、Julyistoofaraway.B、Theofferdoesn’tapplytoJuly.C、TheyhaveafullscheduleinJuly.D、Theydesperatelyneedaholida
最新回复
(
0
)