上机考试题
(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<<\"请输入全车间职工的工号、姓名、基本工资、岗位工资、医疗住房基金与税金:\"< } 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=\"< //定义复数相加函数 } 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个复数的元素值:\"< c[i].Input(); sum=c_Input.Add(c,sum); c_Input.display(); return 0; } 因篇幅问题不能全部显示,请点此查看更多更全内容