Untitled
unknown
plain_text
3 years ago
2.6 kB
12
Indexable
#include <iostream>
#include <string>
#include <iomanip>
using namespace std;
class nguoild
{
protected:
int mnv;
string ht;
string cv;
int hsl;
public:
nguoild(int mnv=0,string ht="",string cv="",int hsl=0)
{
this ->mnv=mnv;
this ->ht=ht;
this ->cv=cv;
this ->hsl=hsl;
}
~nguoild(){}
void nhap()
{
cout <<"Nhap ma nhan vien: ";
cin >>mnv;
fflush (stdin);
cout <<"Nhap ho va ten: ";
getline(cin,ht);
cout <<"Nhap chuc vu: ";
getline(cin,cv);
cout <<"Nhap he so luong: ";
cin >>hsl;
}
void xuat()
{
cout<<setw(20)<<mnv
<<setw(20)<<ht
<<setw(20)<<cv
<<setw(20)<<hsl;
}
};
class lanhdao: public nguoild
{
private:
int snct;
public:
lanhdao(int mnv=0,string ht="",string cv="",int hsl=0,int snct=0):nguoild(mnv,ht,cv,hsl)
{
this ->snct=snct;
}
~lanhdao(){}
friend istream& operator >>(istream& is,lanhdao& ld)
{
ld.nhap();
cout <<"Nhap so nam cong tac: ";
is >>ld.snct;
return is;
}
int tinh()
{
if(cv=="GD")
return 500;
if(cv=="TP")
return 300;
return 200;
}
friend ostream& operator <<(ostream& os,lanhdao ld)
{
ld.xuat();
os<<setw(25)<<ld.snct
<<setw(20)<<ld.tinh();
return os;
}
};
void tieude()
{
cout <<setw(20)<<"Ma nhan vien"
<<setw(20)<<"Ho va Ten"
<<setw(20)<<"Chuc vu"
<<setw(20)<<"He so luong";
}
void tieudeld()
{
tieude();
cout <<setw(25)<<"So nam cong tac"
<<setw(20)<<"tien phu cap";
}
int main()
{
int n;
cout <<"Nhap so nguoi: ";
cin >>n;
nguoild nld[n];
for (int i=0;i<n;i++)
{
cout <<"Nhap so nguoi thu "<<i+1<<endl;
nld[i].nhap();
}
tieude();
cout <<endl;
for (int i=0;i<n;i++)
{
nld[i].xuat();
}
cout <<"\nNhap so nguoi lanh dao: ";
cin >>n;
lanhdao ld[n];
for (int i=0;i<n;i++)
{
cout <<"Nhap so nguoi thu "<<i+1<<endl;
cin >>ld[i];
}
tieudeld();
cout <<endl;
for (int i=0;i<n;i++)
{
cout <<ld[i]<<endl;
}
}Editor is loading...