首页 > 全部 > 二级C++ > 国家二级C++机试(操作题)模拟试卷499

国家二级C++机试(操作题)模拟试卷499

本单篇文档共4982字,内容预览3600字,预览为有答案版,源文件无水印,下载后包含无答案空白卷版和有答案版,同时也有计算机类NCRE全国计算机二级整科真题模拟题,讲义课件,思维导图,易错高频题等下载。
二级C++ 章节练习 6819人下载
价格: 1.20 原价:¥8.00
收藏

国家二级C++机试(操作题)模拟试卷499

基本操作题

1.使用VC6打开考生文件夹proj1下的工程proj1,其中定义了一个CD类。程序中位于每个//ERROR***********found***********下的语句行有错误,请加以更正,不得修改程序的其他部分。更正后程序的输出应该是:

歌唱祖国30

义勇军进行曲95

注意:只能修改每个//ERROR***********found***********下的那一行,不要改动程序中的其他内容。

#include

#include

using namespace std;

class CD

{

char name[20];

int number;

public:

void init(char*aa,int bb)

{

//ERROR*****found*****

name=aa;

number=bb;

}

char*getName(){

//ERROR*****found*****

return*name;

}

int getNumber(){return number;}

void output(){

//ERROR*****found*****

cout<<name[20]<<’’<<number<<endl;

}

};

void main()

{

CD dx,dy;

dx.init(\\

(1)strcpy(name,aa);

(2)return name;

(3)cout<<name<<’’<<number<<endl:

解析:程序定义CD类,它包含两个数据成员:字符数组name和整型变量number;还包含四个公有成员函数,init()函数接收两个参数,用参数对数据成员进行赋值;getName()函数返回数据成员name;getNum.ber()函数返回数据成员number;output()函数将数据成员name和number输出。CD类的定义体中,有三个错误:

(1)init()函数将形参aa赋给name,由于name是字符数组,所以不能通过简单的赋值运算符进行赋值,应该使用strcpy()函数将形参aa指向的字符串拷贝到name中。

(2)getName()函数的返回值为char*类型,所以函数体的return语句应该返回name,而不是name指向的字符串。

(3)output()函数需要输出两个数据成员,输出字符数组时,只需要给出数组名name即可。

简单应用题

2.请使用VC6或使用【答题】菜单打开考生文件夹prog2下的工程prog2。此工程中包含一个程序文件main.cpp,其中有“部门”类Department和“职工”类Staff的定义,还有主函数main的定义。在主函数中定义了两个“职工”对象,他们属于同一部门。程序展示,当该部门改换办公室后,这两个人的办公室也同时得到改变。请在程序中的横线处填写适当的代码并删除横线,以实现上述类定义。此程序的正确输出结果应为:

改换办公室前:

职工号:0789 姓 名:张三 部 门:人事处 办公室:521

职工号:0513 姓 名:李四 部 门:人事处 办公室:521

改换办公室后:

职工号:0789 姓 名:张三 部 门:人事处

办公室:311

职工号:0513 姓 名:李四 部 门:人事处 办公室:311

注意:只在横线处填写适当的代码,不要改动程序中的其他内容。

#include

using namespace std;

class Department{ //“部门”类

public:

Department(const char *

strcpy(this->name,name);

//**********found**********

}

const char*getName()const{return name;} //返回部门名称

//**********found**********

const char*getOffice()

const{_________) //返回办公室房号

void changeOfficeTo (const char*office){//改换为指定房号的另一个办公室

strcpy(this->office,office);

}

private:

char name[20]; //部门名称

char office[20]; //部门所在办公室房号

};

class Staff{ //“职工”类

public:

//**********found**********

Staff(const char*my id,const char*my_name,Department&my dept):_________{

strcpy(this->staff_id,my id);

strcpy(this->name,my_name);

}

const char*getID()const{return staff id;}

const char*getName()const{return name;}

Department getDepartment()const{return dept;}

private:

char staff id[10]; //职工号

char name[20];//姓名

Department&dept; //所在部门

};

void showStaff(Staff&staff){

cout<<\\

(1)strcpy(this->office,office);

(2)return office;

(3)dept(my_dept)

(4)dept.changeOfficeTo(\\

解析:(1)主要考查考生对strcpy函数的掌握情况,根据上一条语句:strcpy(this->name,name);可知,这条语句复制的是office,即strcpy(this->office,office);。

(2)主要考查考生对成员函数的掌握情况,根据语句的注释:返回办公室房号可知,要填写的是一条return语句。在私有成员里:char office[20];//部门所在办公室房号,表

本文档预览:3600字符,共4982字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载

剩余未完,查看全文
收藏
国家二级C++机试(操作题)模拟试卷499

推荐资源

客服

扫码添加客服微信

热线

官方客服

如遇问题,请联系客服为您解决

电话客服:

客服微信:pujinet

工作时间:9:00-18:00,节假日休息

公众号

扫码关注微信公众号