《c++公司人事管理》由会员分享,可在线阅读,更多相关《c++公司人事管理(14页珍藏版)》请在金锄头文库上搜索。
1、/ 852369.cpp : 定义控制台应用程序的入口点。/#include stdafx.h#include #include #include #include #include #include #include#include#includeusing namespace std;class Staff /声明员工类 protected: int num,post; char name20; float income; public: friend class Boss;/在一个非成员函数中,要想访问类的私有数据成员 /,该函数必须声明为该类的友元函数 Staff() /声明一个无参的
2、构造函数Staff Staff (int id,char *Name,int post,double pay);/定义一个有参的构造函数,用参数的初始化表对数据成员初始化 virtual double Pay()return 0; ; Staff :Staff (int id,char *Name,int Post,double pay) /在类外定义有参构造函数 num=id; post=Post; income= pay; strcpy(name,Name); class TechniqueManager:public Staff /声明技术经理类 public: TechniqueMan
3、ager(int id,char *Name,int post,double pay):Staff (id,Name,post,pay) double Pay()return income=5000; void display(); TechniqueManager() ;void TechniqueManager:display()/构造函数 Pay(); coutnum name 技术经理 incomeendl;class BusinessManager:public Staff /声明业务经理类 public: double Amount, Programe; BusinessManag
4、er(int id,char *Name,int post,double amount,double programe,double pay); void SetAmount(double s,double d); double Pay(); BusinessManager() ;BusinessManager:BusinessManager(int id,char *Name,int post,double amount,double programe,double pay):Staff (id,Name,post,pay) /构造函数 Amount=amount; Programe=pro
5、grame;void BusinessManager:SetAmount(double s,double d)Amount=s;Programe=d;double BusinessManager:Pay()return income=2000+Amount*15/100+Programe*10/100;class Secretary:public Staff /声明文秘类 public:Secretary(int id,char *Name,int post,double pay):Staff (id,Name,post,pay)double Pay()return income=1500;v
6、oid display(); Secretary() ;void Secretary:display() /构造函数 Pay(); coutnum name 文秘 incomeendl; class Financial:public Staff /声明财务人员类 public: Financial(int id,char *Name,int post,double pay):Staff (id,Name,post,pay) double Pay()return income=2000; void display(); Financial() ;void Financial:display()
7、/构造函数 Pay(); coutnum name 财务 incomeendl; class Sales:public Staff /声明业务人员类 public: double Amount,Programe; Sales(int id,char *Name,int post,double amount,double programe,double pay); void SetAmount(double s,double d); virtual double Pay(); Sales() ;Sales:Sales(int id,char *Name,int post,double amoun
8、t,double programe,double pay):Staff (id,Name,post,pay) /在类外定义有参构造函数 Amount=Amount;/销售额 Programe=programe;/项目额 double Sales:Pay() return income=Amount*15/100+Programe*10/100; void Sales:SetAmount(double s,double d) Amount=s;Programe=d;class Technician:public Staff /声明技术员类 public: double Line; Technic
9、ian(int id,char *Name,int post,double line,double pay):Staff (id,Name,post,pay) Line=line; double Pay(); void display(); Technician();double Technician:Pay() /在类外定义无参构造函数return income=Line;void Technician:display() Pay();coutnum name 技术人员 incomeendl; class Boss / 声明老板类public: Boss(); void Add(); voi
10、d Search(); void Delete(); void Modify(); void DisPlay(); Boss() ;void Boss:Add() time_t t = time(0); char tmp64; strftime( tmp, sizeof(tmp), %Y/%m/%d %X %A 本年第%j天 %z,localtime(&t) ); puts( tmp ); Staff p,*p1; int post,id; char Name20,ch; double pay,Amount,sell,programe; coutendl; coutendl; coutnnnnttt 添加职工信息endl; coutttt1-技术经理endl; coutttt2-业务经理endl; c