试卷详情
-
二级C++机试-116
-
[填空题]使用VC++6.0打开考生文件夹下的源程序文件1.cpp,该程序运行时有错,请改正错误,使得程序正确执行,并且输出以下语句:
TC1:0
TC2
注意:不要改动main函数,不能增加或删除行,也不能更改程序的结构,错误的语句在//******error******的下面。
试题程序:
#include<iostream.h>
struct TC1
TCl(int i=0)
m_i=i;
void print( )
cout<<"TC1:"<<m_i<<end1;
int m_i;
;
class TC2
public:
TC2( )
void print( )
cout<<"TC2"<<end1;
//********error********
private:
~TC2( )
;
int main( )
//********error********
TC1 obj1( );
//********error********
TC2 ohj2( );
obj1.print( );
ohj2.print( );
return 0;
-
[填空题]使用VC++6.0打开考生文件夹下的源程序文件3.cpp。类People包括姓名和年龄两个字段。函数fun获得年龄比较大的人的姓名,然后输出这个姓名到屏幕。
其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。
(1)完成类的构造函数功能,请在注释1后添加适当的语句。
(2)完成构造函数对姓名的赋值,请在注释2后添加适当的语句。
(3)定义类的友元函数fun,请在注释3后添加适当的语句。
(4)补充函数fun的年龄比较功能,请在注释4后添加适当的语句。
注意:增加或者修改代码的位置已经用符号表示出来,请不要修改其他的程序代码。
试题程序:
#include<iostream.h>
class People
public:
//********1********
int i;
for(i=0;sUserName[i]!=0;i++)
m_UserName[i]=sUserName[i];
//********2********
m_Old=nOld;
private:
char m_UserName[32];
int m_Old;
//********3********
;
void fun(char *s,People& person1,People&person2)
//********4********
if( )
for(int i=0;person1.m_UserNamd[i]!=0;i++)
s[i]=person1.m_UserName[i];
s[i+1]=0;
else
for(int i=0;person2.m_UserName[i]!=0;i++)
s[i]=person2.m_UserName[i];
s[i+1]=0;
void main( )
-
[简答题]使用VC++6.0打开考生文件夹下的源程序文件2.cpp。完成函数fun(char *s,int a[]),其功能是把字符串s中的数字提取出来存储在a[]中,然后返回数字的个数。
例如s="1234abcdef567",则a[]中存储着1234567,返回7。
注意:不能修改程序的其他部分,只能修改fun函数。
试题程序:
#include<iostream.h>
int fun(char *s,int a[])
int main( )
int a[1024];
int len=fun("1234abcdef567",a);
for(int i=0;i<len;i++)
cout<<a[i]<<’’;
cout<<end1;
cout<<i<<end1;
return 0;