您的当前位置:首页正文

第3次上机内容 ( 1 )

2021-02-03 来源:易榕旅网


上机考试题

(1)定义职工工资类类型,其所包含的属性有:工号(num)、姓名(name)、基本工资(base_salary)、岗位工资(post_salary)、医疗住房基金(fund)、税金(tax)与实发工资(fact_salary)。其包含如下四个成员函数,分别用于:

① 输入全车间职工的工号、姓名、基本工资、岗位工资、医疗住房基金与税金。

② 计算每一个职工实发工资,计算公式:

实发工资=基本工资+岗位工资-医疗住房基金-税金。

③ 按实发工资降序排序。

④ 输出全车间职工的工号、姓名、基本工资、岗位工资、医疗住房基金、税金与实发工资。

在主函数中定义职工工资数组Salary1,调用四个函数完成输入、计算实发工资、排序、输出工作。

实验数据:

1001,张明,1200,1800,300,100

1002,周明,1300,2000,310,110

1003,李明,1400,2200,320,120

1004,陈明,1500,2400,330,130

1005,赵明,1600,2600,340,140

课后习题

(1)定义描述复数的类型类型Complex,编写加法成员函数Add()完成两个复数的加法运算。在主函数中定义复数类型变量sum与数组c[5]。用成员函数Input()给数组c的5个元素输入复数值,并调用Add()函数完成sum=c[0]+c[1]+c[2]+c[3]+c[4]的操作,最后利用成员函数display()输出数组c的5个复数值,及其复数sum的值。

1.#include

#include

using namespace std;

class worker //声明worker类

{

public:

void input_data();

void deal_data();

static void sort_data(worker Salary1[5]);

void output_data();

private:

int num;

int base_salary;

int post_salary;

int fund;

int tax;

int fact_salary;

string name;

};

int main()

{

int i;

worker Salary1[5];

for(i=0;i<5;i++)

{

Salary1[i].input_data();

}

for(i=0;i<5;i++)

{

Salary1[i].deal_data();

}

worker::sort_data(Salary1);

for(i=0;i<5;i++)

{

Salary1[i].output_data();

}

return 0;

}

void worker::input_data() //输入全车间职工的工号、姓名、基本工资、岗位工资、医疗住房基金与税金。

{

cout<<\"请输入全车间职工的工号、姓名、基本工资、岗位工资、医疗住房基金与税金:\"<cin>>num>>name>>base_salary>>post_salary>>fund>>tax;

}

void worker::deal_data() //计算每一个职工实发工资

{

fact_salary=0;

fact_salary=base_salary+post_salary-fund-tax;

}

void worker::sort_data(worker Salary1[5]) //按实发工资降序排序

{

int i,j;

for(i=0;i<5;i++)

{

for(j=0;j<5;j++)

{

if((Salary1[j].fact_salary)<(Salary1[j+1].fact_salary))

{

worker temp;

temp=Salary1[j];

Salary1[j]=Salary1[j+1];

Salary1[j+1]=temp;

}

}

}

}

void worker::output_data() //输出全车间职工的工号、姓名、基本工资、岗位工资、医疗住房基金、税金与实发工资。

{

cout<}

1.#include

using namespace std;

class Complex //定义Complex类

{

public:

Complex(){real=0;imag=0;} Complex(double r,double i){real=r;imag=i;} void Input(); Complex Add(Complex c[],Complex sum); void display(); private:

double real; double imag; };

//定义构造函数

//构造函数重载

//声明输入函数

//声明复数相加函数

//声明输出函数

//实部

//虚部

void Complex::Input() //定义输入函数

{

cin>>real>>imag;

}

Complex Complex::Add(Complex c[],Complex sum) {

for(int i=0;i<5;i++)

{

sum.real+=c[i].real;

sum.imag+=c[i].imag;

}

cout<<\"sum=\"<return sum;

//定义复数相加函数

}

void Complex::display() //定义输出函数

{

Complex sum,c[5];

cout<<\"=c[0]+c[1]+c[2]+c[3]+c[4]\";

}

int main()

{

Complex sum,c[5],c_Input;

cout<<\"请输入5个复数的元素值:\"<for(int i=0;i<5;i++)

c[i].Input();

sum=c_Input.Add(c,sum);

c_Input.display();

return 0;

}

因篇幅问题不能全部显示,请点此查看更多更全内容