#include<iostream.h>
class Staff //定义一个Staff虚基类
{
public:
virtual void pay(){}
double wage,vacate,yeji;
};
class NStaff:public Staff//定义一个雇员NStaff的派生类
{
public:
void pay(){cout<<"基本工资 3000:"<<endl;//声明并定义缺省的pay()(雇员工资计算)函数
cout<<"输入请假天数:";cin>>vacate;
yeji=1500;
wage=3000+yeji-vacate*100;
cout<<"工资:"<<wage<<endl;}
};
class Manager:public Staff//定义一个经理Manager的派生类
{public:
void pay(){cout<<"基本工资:3500"<<endl;//声明并定义缺省的pay()(经理工资计算)函数
cout<<"固定奖金:500"<<endl;
cout<<"输入请假天数:";cin>>vacate;
cout<<"输入业绩系数:";cin>>xishu;
yeji=500*xishu;
wage=3500+yeji-vacate*100;
cout<<"工资:"<<wage<<endl;}
double xishu; };
class Techman:public Staff//定义一个技术人员Techman的派生类
{public:
void pay(){cout<<"基本工资:3500"<<endl;//声明并定义缺省的pay()(技术人员工资计算)函数
cout<<"输入请假天数:";cin>>vacate;
cout<<"付佣金工作小时:";cin>>hours;
yeji=20*hours;
电脑编程工资多少 wage=3500+yeji-vacate*100;
cout<<"工资:"<<wage<<endl;}
protected: double hours;
};
class Techmanager:public Techman//定义一个技术经理缺省的pay()(技术经理工资计算)函数
{public:
void pay(){cout<<"基本工资:3500"<<endl;//声明并定义缺省的pay()(技术经理工资计
算)函数
cout<<"输入请假天数:";cin>>vacate;
cout<<"输入业绩系数:";cin>>xishu;
cout<<"输入研究进度系数:";cin>>jindu;
cout<<"工作小时:";cin>>hours;
yeji=200*xishu+20*hours*jindu;
wage=4000+yeji-vacate*100;
cout<<"工资:"<<wage<<endl;}
protected: double jindu,xishu,hours;
};
void main()
{ cout<<" 员工工资表统计"<<endl<<endl;//设置标题美化
cout<<" 身份代号: 【1:雇员】 【2:经理】 【3:技术人员】 【4:技术经理】 "<<endl<<endl;//备注兼美化功能
char name[10];
long int i;
int m;
NStaff a1;
Manager a2;
Techman a3;
Techmanager a4;
Staff obj,*ptr;
cout<<" 请输入员工姓名,ID:";
cin>>name>>i;
cout<<"请输入身份代号:";cin>>m;
switch (m)
{
case 1: ptr=&a1 ;ptr->pay() ;break;
case 2: ptr=&a2 ;ptr->pay() ;break;
case 3: ptr=&a3 ;ptr->pay() ;break;
case 4: ptr=&a4 ;ptr->pay() ;break;
}}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论