阅读以下说明和C++代码,填补C++代码中的空缺(1)~(6),将解答写在答题纸的对应栏内。
(说明)
已知某公司按周给员工发放工资,其工资系统需记录每名员工的员工号、姓名、工资等信息。其中一些员工是正式的,按年薪分周发放(每年按52周计算);另一些员工是计时工,以小时工资为基准,按每周工作小时数核算发放。
下面是实现该工资系统的C++代码,其中定义了四个类:工资系统类PayRoll,员工类Employee,正式工类Salaried和计时工类Hourly,Salaried和Hourly是Employee的子类。
(C++代码)
//头文件和域名空间略
const int EMPLOYEE_NUM=5;
class Employee{
protected:
int empCode; ∥员工号
string name; ∥员工姓名
double salary; ∥周发放工资
public:
E.mployee( const int empCode, const string &name){
this->empCode= empCode; this->name= name;
}
virtual~Employee(){}
virtual void pay()=0;
double getSalary(){ return this->salary; }
};
class Salaried (1){
private: double payRate; //年薪
public:
Salaried(const int empCode,const string &name,double payRate)
:Employee(empCode,name){
this->payRate= payRate;
}
void pay(){
this->salary=(2) ;//计算正式员工的周发放工资数
cout<<this->name<<":"<<this->salary<<endl;
}
};
class Hourly (3) {
private:
double payRate; //小时工资数
int hours; //周工作小时数
public:
H.ourly(const int empCode, const string &name, int hours, double payRate)
:Employee(empCode,name){
this->payRate= payRate; this->hours= hours,
}
void pay(){
this->salary= (4) ;//计算计时工的周发放工资数
cout<<this->name<<":"<<this->salary<<endl;
}
};
class PayRoll{
public:
void pay(Employee* e[]){
for (int i=0;i<EMPLOYEE_ NUM; i++){
e[i]->pay();
}
}
};
int main(){
PayRoll* payRoll= new PayRoll;(5)employees[EMPLOYEE_ NUM]={
new Salaried(l00l,"Zhang San", 58000.00),
//此处省略对其他职工对象的生成
new Hourly(1005,"L1", 12, 50.00),
};
payRoll->pay ( (6) );
double total= 0.0;
for (int i=0;i< EMPLOYEE_NUM; i++)
{ total+=employees[il->getSalary(); } //统计周发放工资总额
cout<<"总发放额="<<total<<endl;
delete payRoll; retum 0;
}
[试题]试题六(共15分)阅读以下说明和Java代码,填补Java代码中的空缺(1)~(6),将解答写在答题纸的对应栏内。(说明)己知某公司按周给员工发放工资,其工资系统需记录每名员工的员工号、姓名、工资等信息。其中一些员工是正式的,按年薪分周发放(每年按52周计算);另一些员工是计时工,以小时工资为基准,按每周工作小时数核算发放。下面是实现该工资系统的Java代码,其中定义了四个类:工资系统类PayRoll,员工类Employee,正式工类Salaried和计时工类Hourly,Salaried和Hou
[试题]试题五(共 15分)阅读以下说明和C++代码,将应填入 (n) 处的字句写在答题纸的对应栏内。(说明)已知类 LinkedList 表示列表类,该类具有四个方法:addElement()、lastElement()、numberOfElement()以及removeLastElement()。四个方法的含义分别为:void addElement(Object): 在列表尾部添加一个对象;Object lastElement(): 返回列表尾部对象;int numberOfElement(): 返回
[试题]试题五(共 15分)阅读以下说明和C++代码,将应填入 (n) 处的字句写在答题纸的对应栏内。(说明)已知类 LinkedList 表示列表类,该类具有四个方法:addElement()、lastElement()、umberOfElement()以及removeLastElement()。四个方法的含义分别为:void addElement(Object): 在列表尾部添加一个对象;Object lastElement(): 返回列表尾部对象;int numberOfElement(): 返回列
[试题]试题五(共15分)阅读以下说明和 C++代码,将应填入 (n) 处的语句或语句成分写在答题纸的对应栏内。(说明)某数据文件students.txt的内容为100名学生的学号和成绩,下面的程序将文件中的数据全部读入对象数组,按分数从高到低进行排序后选出排名前 30%的学生。(C++代码)#include <iostream>#include <fstream>#include <string>using namespace std;class Student {p
[试题]试题五(共 15分)阅读以下关于 C语言及 C代码的叙述,回答问题 1至问题 3,将答案填入答题纸的对应栏内。(说明)在开发某嵌入式系统时,设计人员根据系统要求,分别编写了如下三部分程序,其中:(C代码 1)是李工为了在嵌入式平台上开发一段可变参数函数,在X86 平台上实现的一个参数个数可变函数实例。(C代码 2)是王工在编写软件时,自己编写的内存拷贝函数。(C代码 3)是赵工编写的一段数据处理的程序,其中 fun()的含义为从已创建的一个单向链表中查找倒数第index 个节点。他的设计思路为:首
[试题]试题二(共 15 分)阅读以下说明和 C 程序代码,将应填入 (n) 处的字句写在答题纸的对应栏内。[说明]下面 C 程序代码的功能是:对于输入的一个正整数 n(100≤n<1000) ,先判断其是否是回文数(正读反读都一样的数) 。若不是,则将 n 与其反序数相加,再判断得到的和数是否为回文数,若还不是,再将该和数与其反序数相加并进行判断,依此类推,直到得到一个回文数为止。例如,278 不是回文数,其反序数为 872,相加后得到的 1150还不是回文数,再将 1150 与其反序数 511
[主观题]试题四(共15 分)阅读下列说明和C代码,回答问题 1 至问题3,将解答写在答题纸的对应栏内。(说明)某应用中需要对100000 个整数元素进行排序,每个元素的取值在 0~5 之间。排序算法的基本思想是:对每一个元素 x,确定小于等于 x的元素个数(记为m),将 x放在输出元素序列的第m 个位置。对于元素值重复的情况,依次放入第 m-l、m-2、…个位置。例如,如果元素值小于等于4 的元素个数有 10 个,其中元素值等于 4 的元素个数有3个,则 4 应该在输出元素序列的第10 个位置、第 9
[主观题]试题二(共15分)阅读以下说明、C程序代码和问题1至问题3,将解答写在答题纸的对应栏内。(说明1)设在某C系统中为每个字符型数据分配1个字节,为每个整型(int)数据分配4个字节,为每个指针分配4个字节,sizeof(x)用于计算为x分配的字节数。(C代码)#include <stdio.h>#include <string.h>int main(){ int arr[5]={10,20,30};char mystr[]="JustAtest/n";char *ptr
[试题]阅读以下技术说明和C代码,将C程序中(1)~(5)空缺处的内容填写完整。[说明]某种传感器的输出值Ratio依赖于环境温度temp(-40℃≤temp≤50℃)。对一组环境温度值(ITEMS个),已经测量得到了相应的Ratio值(如表4-10表格所示)。表4-10粗略地描述了曲线Ratio(temp)。校正系数K是Ratio的倒数,因此也依赖于环境温度temp。在数据处理中,需要用更多的列表值细致地描述曲线K(temp),如表4-11所示。在表4-11中,各温度值所对应的K值是对表4-10进行线性
[试题]试题二(共15分)阅读以下说明和C函数,填充函数中的空缺,将解答填入答题纸的对应栏内。(说明)如果矩阵A中的元素A[i,j]满足条件:A[i,j]是第i行中值最小的元素,且又是第j列中值最大的元素,则称之为该矩阵的一个马鞍点。一个矩阵可能存在多个马鞍点,也可能不存在马鞍点。下面的函数求解并输出一个矩阵中的所有马鞍点,最后返回该矩阵中马鞍点的个数。(C函数)Int findSaddle(int a[][N],int M),{ /*a表示M行N列矩阵,N是宏定义符号常量量*/int row,colum