本栏目下题库来源于互联网,轻速云承诺对于用户导入平台的题库是严格保密的,不会在此呈现!
轻速云给您提供更好的在线考试系统服务!
2014年全国计算机等级《二级C++》上机考试冲刺试题(2)
1、【 简答题
请使用VC6或使用【答题】菜单打开考生文件夹progl下的工程progl,该工程中包含程序文件main. cpp,其中有Salary(“工资”)类和主函数main的定义。程序中位于每个“//ERROR ****found****”之后的一行语句行有错误,请加以改正。改正后程序的输出结果应为:
应发合计:3500应扣合计:67.5实发工资:3432.5
注意:只修改每个“//ERROR ****found****”下的那一行,不要改动程序中的其他内容。
#include
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 * staff_id;}
double getGmssPay()const{retum base+bonus;}//返回应发项合计
double getNetPay()const}retum getGmssPay()-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;
} [18分]
解析:
(1)BAsE(thE—BAsE),Bonus(thE—Bonus),tAx(thE—tAx)
(2)SAlAry(){DElEtE[]stAFF_iD;}
(3)Cout<<”实发工资:”<<pAy.GEtNEtPAy()<<EnD1;
2、【 简答题
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,此工程包含有一个源程序文件proj2.cpp,其中定义了Stack类和ArrayStack类。
Stack是一个用于表示数据结构“栈”的类,栈中的元素是字符型数据。Stack为抽象类,它只定义了栈的用户接口,如下所示:
公有成员函数 功能
push 入栈:在栈顶位置添加一个元素
pop 退栈:取出并返回栈顶元素
ArrayStack是Stack的派生类,它实现了Stack定义的接口。ArrayStack内部使用动态分配的字符数组作为栈元素的存储空间。数据成员maxSize表示的是栈的最大容量,top用于记录栈顶的位置。成员函数push和pop分别实现具体的入栈和退栈操作。
请在程序中的横线处填写适当的代码,然后删除横线,以实现上述功能。此程序的正确输出结果应为:
a,b,C
C,b,a
注意:只在指定位置编写适当代码,不要改动程序中的其他内容,也不要删除或移动“//****料found****”。
//proj2.cpp
#include
using namespacc std;
class Stack{
public:
virtual void push(char C)=0;
virtual char pop()=0;
};
class ArrayStack:public Stack{
char*P;
int maxSizc;
int top;
public:
ArravStack(int s)
{
top=0;
maxSize=s:
//*********found*********
P=______;
}
~ArrayStack()
{
//*********found*********
_______;
}
void push(char c)
}
if(top==maxSize){
cerr<<”Overflow! \n”:
return;
}
//*********found*********
_______;
top++:
}
char pop()
{
if(top==0){
cerr<<”Underflow!、n”;
return‘\0’;
}
Top--;
//*********found*********
______;
}
};
void f(Stack&sRef)
{
char ch[]={‘a’,‘b’,‘c’};
cout<<CH[0]<<”,”<<CH[1]<<”,”<<CH[2]<
sRef.push(oh[0]);sRef.push(ch[1]);sRef.push(ch[2]);
cout<<SREF.POP()<
cout<<SREF.POP()<
cout<<SREF.POP()<
}
int main()
{
ArrayStack as(10);
f(as):
return 0:
} [24分]
解析:
(1)IlEw ChAr[s]
(2)DElEtE[]P
(3)P[top]=E
(4)rEturn P[top]
3、【 简答题
请使用【答题】菜单命令或直接用VC6打开考生文件夹下的工程prog3,其中声明了ValArray类,该类在内部维护一个动态分配的整型数组。ValArray类的复制构造函数应实现对象的深层复制。请编写ValArray类的复制构造函数。在main函数中给出了一组测试数据,此种情况下程序的输出应该是:
ValArray vl={1,2,3,4,5} ValArray v2={1,2,3,4,5} 要求:
补充编制的内容写在“//*********333*********”与“//*********666*********”之间,不得修改程序的其他部分。
注意:程序最后将结果输出到文件out.dat中。输出函数write To File已经编译为boj文件,并且在本程序中调用。
//ValArray.h
#include using namespace std; class ValArray{
int *v: int size; public:
ValArray(const int * P,int n):size(n) {
v=new int[size];
for(int i=0;i<SIZE;I++)&NBSP;&NBSP;&NBSP; < p v[i]="P[i];"> [18分]
解析:
sizE=othe].size;
v=liEw int[size]:
For(int i=0;i<size;i++)
setAtTAy(i,other.v[ij);
首页 12
2页,共43个题库
2页,共43个题库
轻速云给您提供更好的在线考试系统服务!
推荐
推荐题库
众多企事业单位的信赖之选
36万+企事业单位的共同选择
查看更多合作案例
众多企事业单位的信赖之选
开始使用轻速云组织培训考试
四步组织一场考试答题,一键搭建企业培训平台
免费使用 免费使用 预约演示
咨询热线
400-886-8169
周一到周日 8:00-22:00
©2025 轻速云 苏ICP备16049646号-1 轻速云科技提供专业的在线考试系统、在线培训系统
联系我们
客服热线客服热线:400-886-8169 | 周一至周日 8:00-22:00
©2025 轻速云 苏ICP备16049646号-1
轻速云科技提供专业的在线考试系统、在线培训系统
在线咨询 400-886-8169