////////////////////////////////Nhân viên .h
#pragma once
#include<iostream>
using namespace std;
#include<string>
class Nhanvien
{
protected:
string ten, ngaysinh, ma;
int id;
public:
int getterid();
string getterma();
void setterma( string);
virtual void nhap();
virtual void xuat();
virtual double Tinhluong();
Nhanvien();
~Nhanvien();
};
/////////////////////////////nhân viên .cpp
#include "Nhanvien.h"
Nhanvien::Nhanvien()
{
}
void Nhanvien::nhap()
{
fflush(stdin);
cin.ignore();
cout << "\nNhap ten: "; getline(cin, ten);
cout << "\nNhap ngay sinh: "; getline(cin,ngaysinh);
id = 0;
}
void Nhanvien::xuat()
{
cout << "\nMa: "<<ma;
cout << "\nTen: "<<ten;
cout << "\nNgay sinh: "<<ngaysinh;
}
double Nhanvien::Tinhluong()
{
return 0;
}
int Nhanvien::getterid()
{
return id;
}
Nhanvien::~Nhanvien()
{
}
string Nhanvien::getterma()
{
return ma;
}
void Nhanvien::setterma(string xma)
{
ma = xma;
}
/////////////////////////////////Nhân viên quản lý.h
#pragma once
#include"Nhanvien.h"
class Nhanvienquanly: public Nhanvien
{
private:
double hesoluong, luongcanban;
public:
void nhap();
void xuat();
double Tinhluong();
Nhanvienquanly();
~Nhanvienquanly();
};
/////////////////////////////////Nhân viên quản lý.cpp
#include "Nhanvienquanly.h"
void Nhanvienquanly::nhap()
{
Nhanvien::nhap();
cout << "\nNhap luong can ban: "; cin >> luongcanban;
cout << "\nNhap he so luong: "; cin >> hesoluong;
id = 1;
}
void Nhanvienquanly::xuat()
{
Nhanvien::xuat();
cout << "\nLuong can ban: "<< size_t(luongcanban);
cout << "\nHe so luong: "<<size_t(hesoluong);
}
double Nhanvienquanly::Tinhluong()
{
return luongcanban*hesoluong;
}
Nhanvienquanly::Nhanvienquanly()
{
}
Nhanvienquanly::~Nhanvienquanly()
{
}
///////////////////////////////Nhân viên công nhập.h
#pragma once
#include"Nhanvienquanly.h"
class Nhanviencongnhap:public Nhanvien
{
private:
int songaycong;
public:
void nhap();
void xuat();
double Tinhluong();
Nhanviencongnhap();
~Nhanviencongnhap();
};
///////////////////////////////Nhân viên công nhập.cpp
#include "Nhanviencongnhap.h"
void Nhanviencongnhap::nhap()
{
Nhanvien::nhap();
cout << "\nNhap so ngay cong:"; cin >> songaycong;
id = 3;
}
void Nhanviencongnhap::xuat()
{
Nhanvien::xuat();
cout << "\nSo ngay cong: "<<songaycong;
}
double Nhanviencongnhap::Tinhluong()
{
return songaycong*120000;
}
Nhanviencongnhap::Nhanviencongnhap()
{
}
Nhanviencongnhap::~Nhanviencongnhap()
{
}
////////////////////////Nhân viên sản Xuất .h
#pragma once
#include"Nhanviencongnhap.h"
class Nhanviensanxuat :public Nhanvien
{
private:
int sosanpham;
public:
void nhap();
void xuat();
double Tinhluong();
Nhanviensanxuat();
~Nhanviensanxuat();
};
////////////////////////Nhân viên sản Xuất .cpp
#include "Nhanviensanxuat.h"
void Nhanviensanxuat::nhap()
{
Nhanvien::nhap();
cout << "\nNhap so san pham: "; cin >> sosanpham;
}
void Nhanviensanxuat::xuat()
{
Nhanvien::xuat();
cout << "\nSo san pham"<<sosanpham;
id = 2;
}
double Nhanviensanxuat::Tinhluong()
{
return sosanpham * 55000;
}
Nhanviensanxuat::Nhanviensanxuat()
{
}
Nhanviensanxuat::~Nhanviensanxuat()
{
}
/////////////////////////////////////////////công ty .h
#pragma once
#include"Nhanviensanxuat.h"
#include<vector>
class Congty
{
private:
vector<Nhanvien *> list;
public:
void Nhap();
void Xuat();
double tinhluongcongty();
double tinhtongluongquanly();
Congty();
~Congty();
};
///////////////////////////công ty .cpp
#include "Congty.h"
void Congty::Nhap()
{
int chon;
Nhanvien *a=new Nhanvien;
do {
cout << "-------------MENU-------------------";
cout << "\n1.---Nhap nhan vien quan ly----------";
cout << "\n2.---Nhap nhan vien san xuat---------";
cout << "\n3.---Nhap nhan vien cong nhap--------";
cout << "\n------------------------------------\n";
cout << "Nhap lua chon:"; cin >> chon;
if (chon == 1)
{
a = new Nhanvienquanly;
}
else if (chon == 2)
{
a = new Nhanviensanxuat;
}
else if(chon==3)
{
a = new Nhanviencongnhap;
}
if (chon != 0)
{
bool check;
string ma;
do {
fflush(stdin);
cin.ignore();
cout << "\nNhap ma: "; getline(cin, ma);
int size = list.size();
check = true;
for (int i = 0; i < size; i++)
{
if (ma==list[i]->getterma())
{
check = false;
break;
}
}
if (check == false)
{
cout << "\nMa nay bi trung xin kiem tra lai!";
}
} while (check == false);
a->setterma(ma);
a->nhap();
list.push_back(a);
}
} while (chon != 0);
}
void Congty::Xuat()
{
int pos = list.size();
for (int i = 0; i < pos; i++)
{
list[i]->xuat();
}
}
double Congty::tinhluongcongty()
{
int tong=0;
int pos = list.size();
for (int i = 0; i < pos; i++)
{
tong += list[i]->Tinhluong();
}
return tong;
}
double Congty::tinhtongluongquanly()
{
int tong=0;
int pos = list.size();
for (int i = 0; i < pos; i++)
{
if (list[i]->getterid() == 1)
{
tong += list[i]->Tinhluong();
}
}
return tong;
}
Congty::Congty()
{
}
Congty::~Congty()
{
}
3 Responses
Write a comment
You can use [html][/html], [css][/css], [php][/php] and more to embed the code. Urls are automatically hyperlinked. Line breaks and paragraphs are automatically generated.