首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)完成构造函数,设置数组元素的个数为0,请在注释//********1********之后添加语句。
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)完成构造函数,设置数组元素的个数为0,请在注释//********1********之后添加语句。
admin
2015-05-30
27
问题
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能:
(1)完成构造函数,设置数组元素的个数为0,请在注释//********1********之后添加语句。
(2)完成函数AddMember(int n),如果参数n包含在类的数据成员数组中,则返回0,否则把数据写入数组,然后返回1,请在注释//********2********之后添加语句。
(3)完成函数DelMember(int n),如果变量在数据中,则删除该变量,并且返回1,如果不存在则返回0,请在注释//********3********之后添加语句。
(4)完成成员函数islnclude(int n)的定义,该函数检查参数n是否在类的数据成员数组elems中,如果在返回1,否则返回0。请在注释//********4********之后添加语句。
注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
1 #include
2 #define MAX LENGTH 500
3 class CArray
4 {
5 public:
6 CArray()
7 {
8 //********1********
9
10 }
11 int AddMember(int n)
12 {
13 for(int i=0 ; i
14 {
15 //********2********
16 if(Array
=n)
17 return 0;
18 }
19 Array[length++]=n;
20 return 1;
21 }
22 int DeiMember(int n)
23 {
24 int i ;
25 for(i=0 ; i
26 {
27 if(Array
==n)
28 {
29 break;
30 }
31 }
32 //********3********
33 if()
34 {
35 for(;i
36 {
37 Array
=Array[i+1];
38 }
39 length--;
40 return1 ;
41 }
42 return 0 ;
43 }
44 int isInclude(int n)
45 {
46 for(int i=0;i
47 {
48 //********4********
49 if()
50 {
51 return1 ;
52 }
53 }
154 return 0;
55 }
56 private:
57 int Array[MAX_LENGTH];
58 int length;//N来记录数组的个数
59 };
60 int main()
61 {
62 CArray obj ;
63 obj.AddMember(1);
64 obj.AddMember(3);
65 obj.AddMember(8);
66 obj.AddMember(23);
67 cout<
68 cout<
69 obj.DelMember(3);
70 obj.DelMember(8);
71 cout<
72 cout<
73 return 0 ;
74 }
选项
答案
(1)添加语句:length=0 ; (2)将“if(Array[i] =n)”补充完整为:if(Array[i]==n)或if(n==Array[i]) (3)将“if()”补充完整为:if(i
解析
程序中定义了类CArray,有两个数据成员和多个成员函数。变量为length用来记录数组元素的个数,数组Array[MAX_LENGTH]用来存放数组元素。成员函数AddMember0和DelMember()分别表示添加和删除元素,函数islnclude(int n)检查数组当中是否存在值为n的元素。
[解题思路]
(1)使length的初始化为0,因此添加语句:“length=0;”。
(2)第2个标识下是检查n是否已经在数组当中存在,用if语句来判断,即if(Array
==n)或if(n==Array
)。
(3)DelMember(int n)函数删除指定的元素,由于元素在数组当中的位置未知,因此必须先查找该元素的位置,在该函数的实现过程当中通过for循环来完成,即第一个for循环查找n在数组中的位置。如果n存在于数组中,那么if中的break语句就会执行跳出循环,此时循环变量i的值会小于length,即通过判断i的值是否小于length值可以知道n是否存在数组中,如果存在数组中接下来进行删除操作。即第3个标识下应改为if(i
(4)islnclude(int n)成员函数用来判断n是否存在数组当中,可用if语句比较,即第4个标识下应改为“if(Array
==n)或if(n===Array
)”。
转载请注明原文地址:https://kaotiyun.com/show/NJNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列关于运算符重载的描述中,正确的是()。
下列程序的输出结果是【】。#include<iostream.h>#include<string.h>voidmain(){charb[30];strcpy(&b[0],"XY");
结构化程序设计思想的核心是要求程序只由顺序、循环和【】三种结构组成。
执行语句序列ofstreamoutfile("data.dat");if(...)cout<<"ok";elsecout<<"fail";后,如果文件打开成功,显示“ok”,否则显示“fail”。由此可知,上面if语句的“...
以下程序的执行后,x和y的值是______。#include<iostream.h>classSample{public:intx;inty;
在C++语言中,唯一的一个三目运算符是【】。
已知在函数func中语句this->ff=0;与语句ff=O;的效果完全相同。对于这一现象,下列表述中错误的是
关于模板下列说法不正确的是()。
关于在调用模板函数时实参的使用,下列表述中正确的是
在关系数据库中,用来表示实体之间联系的是
随机试题
人体最大的消化腺器官是()。
【案例四】背景材料:某施工单位中标承建过街地下通道工程,周边地下管线较复杂,设计采用明挖顺作法施工,通道基坑总长80m,宽12m,开挖深度10m;基坑围护结构采用SMW工法桩、基坑深度方向设有两道支撑,其中第一道支撑为钢筋混凝土支撑,第
某车库工程,地下4层,地上局部两层,由于地下室埋深较深,对防水的要求比较高,地下室底板及外墙均采用C30P12的防水混凝土,外墙采用外防外贴法附加两层4mm+4mm的SBS卷材防水层。施工过程中发生下列事件:事件一:基坑槽回填时,回填土由两处取
根据中国财产保险公司《海洋运输货物保险条款》,基本险有()。
下列属于内部审计师职能范围的有()。
下列关于集团审计中组成部分注册会计师的说法中,错误的是()。
有网友发帖称,2011年6月28日从北京到上海的某次列车,定员为1866人,实际售票数却高达7040张。铁道部要求,普快列车超员率不得超过50%,这次列车却超过270%,属于严重超员。如果以下各项为真,最能反驳网友上述论断的是()。
下列四句话,用的词语相同,但强调的重点却不同,其中分别强调“受话人”和“打电话”这件事的一组是()。①他上午在家里是给我打了一次电话②他上午是在家里给我打了一次电话③他是上午在家里给我打了一次电话④他上午在家里给我是打了一次电话
InAmericaweareraisedtoappreciatetheaccomplishmentsofinventorsandthinkers—creativepeoplewhoseideashavetransforme
Whichofthefollowingstatementistrue?
最新回复
(
0
)