工人类与工资类
main.cpp
/**@Author:?? STZG*@Language: C++*/#include<iostream>#include "worker.h"#include "salary.h"using namespace std;int main(){char name[100],dept[100];int age;double wage,subsidy,rent,waterfee,elecfee;cout<<"請輸入名字:"<<endl;cin>>name;cout<<"請輸入年齡:"<<endl;cin>>age;cout<<"請輸入部門:"<<endl;cin>>dept;cout<<"請輸入基本工資:"<<endl;cin>>wage;cout<<"請輸入崗位津貼:"<<endl;cin>>subsidy;cout<<"請輸入房租:"<<endl;cin>>rent;cout<<"請輸入水費:"<<endl;cin>>waterfee;cout<<"請輸入電費:"<<endl;cin>>elecfee;salary Sa(wage,subsidy,rent,waterfee,elecfee);worker Worker(name,age,dept,Sa);cout<<"名字:"<<endl;cout<<Worker.getname()<<endl;cout<<"年齡:"<<endl;cout<<Worker.getage()<<endl;cout<<"部門:"<<endl;cout<<Worker.getdept()<<endl;cout<<"基本工資:"<<endl;cout<<Worker.getsalary().getWag()<<endl;cout<<"崗位津貼:"<<endl;cout<<Worker.getsalary().getSubsidy()<<endl;cout<<"房租:"<<endl;cout<<Worker.getsalary().getRent()<<endl;cout<<"水費:"<<endl;cout<<Worker.getsalary().getWaterfee()<<endl;cout<<"電費:"<<endl;cout<<Worker.getsalary().getElecfee()<<endl;cout<<"工人數:"<<endl;cout<<Worker.getnum()<<endl;cout<<"實發工資:"<<endl;cout<<Worker.getsalary().RealSalary()<<endl;return 0;}worker.cpp
#include "worker.h"worker::worker(){num++;//ctor}worker::~worker(){//dtor}int worker::num=0;worker::worker(char*Name,int Age,char*Dept,salary Sa):age(Age){strcpy(name,Name);strcpy(dept,Dept);Salary=Sa;num++;}void worker::setname(char *Name){strcpy(name,Name);}void worker::setage(int Age){age=Age;}void worker::setdept(char *Dept){strcpy(dept,Dept);}void worker::setsalary(salary Sa){Salary=Sa;}char* worker::getname(){return name;}int worker::getage(){return age;}char* worker::getdept(){return dept;}salary worker::getsalary(){return Salary;}int worker::getnum(){return num;}worker.h
#ifndef WORKER_H#define WORKER_H#include <iostream>#include "salary.h"#include <string>#include <string.h>class worker{public:worker();virtual ~worker();worker(char*Name,int Age,char*Dept,salary Sa);void setname(char *Name);void setage(int Age);void setdept(char *Dept);void setsalary(salary Sa);char* getname();int getage();char* getdept();salary getsalary();int getnum();protected:private:char name[100];int age;char dept[100];salary Salary;static int num;};#endif // WORKER_Hsalary.cpp
#include "salary.h"salary::salary(){Wag=Subsidy=Rent=Waterfee=Elecfee=0;//ctor}salary::~salary(){//dtor}salary::salary(double wag,double subsidy,double rent,double waterfee,double elecfee):Wag(wag),Subsidy(subsidy),Rent(rent),Waterfee(waterfee),Elecfee(elecfee){}void salary::setWag(double wag){Wag=wag;}void salary::setSubsidy(double subsidy){Subsidy=subsidy;}void salary::setRent(double rent){Rent=rent;}void salary::setWaterfee(double waterfee){Waterfee=waterfee;}void salary::setElecfee(double elecfee){Elecfee=elecfee;}double salary::getWag(){return Wag;}double salary::getSubsidy(){return Subsidy;}double salary::getRent(){return Rent;}double salary::getWaterfee(){return Waterfee;}double salary::getElecfee(){return Elecfee;}double salary::RealSalary(){return Wag+Subsidy-Rent-Waterfee-Elecfee;}salary& salary::operator=(const salary &S){if(this==&S){return *this;}Wag=S.Wag;Subsidy=S.Subsidy;Rent=S.Rent;Waterfee=S.Waterfee;Elecfee=S.Elecfee;return *this;}salary.h
#ifndef SALARY_H#define SALARY_Hclass salary{public:salary();salary(double wag,double subsidy,double rent,double waterfee,double elecfee);virtual ~salary();void setWag(double wag);void setSubsidy(double subsidy);void setRent(double rent);void setWaterfee(double waterfee);void setElecfee(double elecfee);double getWag();double getSubsidy();double getRent();double getWaterfee();double getElecfee();double RealSalary();salary& operator=(const salary &S);protected:private:double Wag,Subsidy,Rent,Waterfee,Elecfee;};#endif // SALARY_H輸入數據:
stzg
18
zstu
5000
2000
800
200
100
運行結果:
總結
- 上一篇: 模拟电梯1.0(类与对象实验)
- 下一篇: PTA使我精神焕发