人员信息管理
来源:互联网 发布:c语言排序算法最快 编辑:程序博客网 时间:2024/06/02 11:40
//275 8_8 .cpp#include <iostream>#include <cstring>using namespace std;class employee{protected:char name[20];int individualNo;int grade;float accumpay;static int employeeNo;public: employee();~employee();virtual void pay()=0; //计算月薪函数(纯虚函数)virtual void promote(int inc=0); //计算升级函数(虚函数)void setname(char *);char *Getname();int GetindividualNo();int Getgrade();float Getaccumpay();};int employee::employeeNo = 1000;employee::employee(){individualNo = employeeNo++;grade = 1;accumpay = 0;}employee::~employee(){}void employee::promote(int inc){grade += inc;}void employee::setname(char *names){strcpy_s(name, names);}char *employee::Getname(){return name;}int employee::GetindividualNo(){return individualNo;}int employee::Getgrade(){return grade;}float employee::Getaccumpay(){return accumpay;}class technician :public employee{private:float hourlyprice;int workhours;public:technician();void Setworkhours(int wh);void pay();void promote(int); //升级函数};technician::technician(){hourlyprice = 100;}void technician::Setworkhours(int wh){workhours= wh;}void technician::pay(){accumpay = hourlyprice*workhours;}void technician::promote(int){employee::promote(2); //调用基类升级函数}class salesman :virtual public employee{protected:float comonrate;float saleaccount;public:salesman();void setsale(float sl);void pay();void promote(int); //升级函数};salesman::salesman(){comonrate = 0.4;}void salesman::setsale(float sl){saleaccount = sl;}void salesman::pay(){accumpay = saleaccount*comonrate;}void salesman::promote(int){employee::promote(3); //调用基类升级函数}class manager :virtual public employee{protected:float money;public:manager();void pay();void promote(int); //升级函数};manager::manager(){money = 5000;}void manager::pay(){accumpay = money;}void manager::promote(int){employee::promote(4); //调用基类升级函数}class salemanager :public salesman, public manager{public:salemanager();void pay();void promote(int); //升级函数};salemanager::salemanager(){comonrate = 0.5;money = 6000;}void salemanager::pay(){accumpay = money + saleaccount*comonrate;}void salemanager::promote(int){employee::promote(5); //调用基类升级函数}int main(){technician t1;salesman s1;manager m1;salemanager sm1;char namestr[20];employee *emp[4] = { &t1, &s1, &m1, &sm1 };for (int i = 0; i < 4;i++){cout << "请输入下一雇员的姓名:";cin >> namestr;emp[i]->setname(namestr);emp[i]->promote();}cout << "请输入技术人员" << t1.Getname() << "的工作时长:";int ww;cin >> ww;t1.Setworkhours(ww);cout << "请输入推销员" << s1.Getname() << "的销售额:";int w;cin >> w;s1.setsale(w);cout << "请输入销售经理" << sm1.Getname() << "的销售额:";int we;cin >> we;sm1.setsale(we);for (int i = 0; i < 4;i++){emp[i]->pay();cout << emp[i]->Getname() << "编号" << emp[i]->GetindividualNo() << "级别为" << emp[i]->Getgrade() << "工资为" << emp[i]->Getaccumpay() << endl;}system("pause");return 0;}
1 0
- 人员信息管理
- 人员信息管理(Ⅰ)
- 人员信息管理(Ⅱ)
- 人员信息管理(Ⅲ)
- 人员信息管理(Ⅳ)
- 人员信息管理(Ⅴ)
- 人员信息管理(Ⅴ)
- 工厂人员信息管理
- 人员信息管理系统
- 人员信息管理系统(C源代码)
- Winform开发框架之通用人员信息管理
- 设计异质链表实现学校人员的信息管理
- jplogic v1.0案例开发之人员信息管理(一)
- 要求编写一个简单的人员信息管理程序,具体要求如下:
- 如何使用C语言实现人员信息管理(简易版)
- C++ 校园管理系统、高校人员信息管理系统设计
- 信息管理
- 信息管理
- lasrevarTredrOlevlLeerTyraniB.102
- VMWare下安装ubuntu64位出现错误“kernel requires an x86_64 cpu, but only detected ”
- Chapter1 基本Web应用程序
- 小雷郑重承诺:在2017年之前,对大学毕业4年以来的所有努力和探索,做一个全面客观的总结,技术研究、工作创业、投资理财、朋友感情等
- linux xargs详解
- 人员信息管理
- 蓝桥杯——最小乘积(基本型)
- 程序错误记录
- post 发送xml
- 自己实现下载框架(二)
- fragment保留
- 数值的整数次方
- POJ 2892 线段树(连续问题)
- 自己实现下载框架(三)