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

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

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

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

基本操作题

1.请打开考生文件夹下的解决方案文件proj1,该工程中包含程序文件mmn.cpp,其中有Salary(“工资”)类和主函数main的定义。程序中位于每个“//ERROR *******found*******”之后的一行语句行有错误,请加以改正。改正后程序的输出结果应为:

应发合计:3500应扣合计:67.5 实发工资:3432.5

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

#include<iostream>

using namespace std;

class Salary{

public:

Salary(const char}id,double the base,double the bonus,double the tax)

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

:the base(base),the bonus(bonus),the tax(tax)

{

staff id=new char[strlen(id)+1],

strcpy(staff_id,id);

}

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

~Salary(){delete * staffid;}

double getGrossPay()const{

return base+bonus,)//返回应发项合计

double getNetPay()const{return getGrossPay()-tax;}//返回实发工资额

private:

char * staff id; //职工号

double base;//基本工资

double bonus; //奖金

double tax, //代扣个人所得税

};

int main(){

Salary pay《”888888”,3000.0,500.0,67.50);

cout<<”应发合计:”<<pay.getGrosSPay()<<””;

cout<<”应扣合计:”<<pay.getGrossPay()-pay.getNetPay()<<””;

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

cout<<。’实发工资:”<<pay::getNetPay()<<endl;

return 0;

}

(1):base(the_base), bonus(the_bonus), tax(the_tax)

(2)~Salary(){delete [ ]staff_id;}

(3)cout<<\\

解析:(1)主要考查考生对构造函数的掌握情况,构造函数的成员初始列表要把形参放在括号内。

(2)主要考查考生对析构函数的掌握情况,析构函数使用delete释放指针,delete后要跟标识符’[ ]’。

(3)主要考查考生对成员函数调用的掌握情况,调用类的成员函数使用标识符.,而不是作用域符’::’。

简单应用题

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

改换办公室前:

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

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

改换办公室后:

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

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

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

#include<iostream>

using namespace std;

class Department( //“部门”类

public:

Department(const char * name,const char * office){

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,myname);

}

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<<”职工号:”<<staff.getID()<<””;

cout<<”姓名:”<<staff.getName()<<””;

cout<<”部门:”<<staff.getDepartment().getName()<<””;

cout<<”办公室:”<<staff.getDepartment().getOffice()(<endl;

}

int main(){

Department dept(”人事处”,”521”);

Staff Zhang(”0789”,”张三”,dept),Li(”0513”,”李四

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号