OOP Bài Tập Đa Hình Quản Lý Công Ty.com

//Bài tập đa hình //Chương trình quan lý nhân viên console c++ //--by a POsgia.com--------------------------------------->| //https://www.facebook.com/chuc.tiensinh*******************| //nhanvien.h #pragma once #define _CRT_SECURE_NO_WARNINGS #include<iostream> #include<ctime> using namespace std; #include<string> class NhanVien { protected: string ten; int namvaolam; public: virtual void nhap(); virtual void xuat(); virtual double Tinhluong(); NhanVien(); ~NhanVien(); }; //nhanvien.cpp #include "NhanVien.h" NhanVien::NhanVien() { ten = "\nLe Van Chuc"; namvaolam = 2000; } void NhanVien::nhap() { time_t t = time(0);// Reset l?i th?i gian b?ng 0 struct tm *POs = localtime(&t); // Trong Struct tm có các class nh? th?i gian , ngày , tháng n?m ...v. int namhientai = POs->tm_year + 1900;// dòng này t?c là l?y n?m tr??c n?m 1900 nên ta ph?i c?ng thên 1900 nó m?i b?ng th?i gian ??u fflush(stdin); cout << "\nNhap ten nhan vien: "; getline(cin, ten); do { cout << "\nNhap nam vao lam "; cin >> namvaolam; if (namvaolam < 1900 || namvaolam>namhientai) { cout << "\nNam vao lam phai nam trong khoan: 1900---->" << namhientai << "\nxin kiem tra lai";; } } while (namvaolam<1900||namvaolam>namhientai); } void NhanVien::xuat() { cout << "\nTen nhan vien: "<<ten; cout << "\nNam vao lam: "<<namvaolam; } double NhanVien::Tinhluong() { return 0; } NhanVien::~NhanVien() { return; } //nhanviensanxuat.h #pragma once #include"NhanVien.h" class NhanVienSanXuat :public NhanVien { private: int sosanpham; public: void nhap(); void xuat(); double Tinhluong(); NhanVienSanXuat(); ~NhanVienSanXuat(); }; //nhanviensanxuat.cpp #include "NhanVienSanXuat.h" NhanVienSanXuat::NhanVienSanXuat() { } void NhanVienSanXuat::nhap() { NhanVien::nhap(); cout << "\nNhap so luong san pham"; cin >> sosanpham; } void NhanVienSanXuat::xuat() { NhanVien::xuat(); cout << "\nSo luong san pham: " << sosanpham; } double NhanVienSanXuat::Tinhluong() { time_t t = time(0);// Reset l?i th?i gian b?ng 0 struct tm *POs = localtime(&t); // Trong Struct tm có các class nh? th?i gian , ngày , tháng n?m ...v. int namhientai = POs->tm_year + 1900;// dòng này t?c là l?y n?m tr??c n?m 1900 nên ta ph?i c?ng thên 1900 nó m?i b?ng th?i gian ??u return (sosanpham * 10000) + 100000 + ((namhientai - namvaolam) * 20000); } NhanVienSanXuat::~NhanVienSanXuat() { return; } //nhanvienvanphong.h #pragma once #include"NhanVienSanXuat.h" class NhanVienVanPhong :public NhanVien { private: double luongcanban, ngaynghi; public: void nhap(); void xuat(); double Tinhluong(); NhanVienVanPhong(); ~NhanVienVanPhong(); }; //nhanvienvanphong.cpp #include "NhanVienVanPhong.h" NhanVienVanPhong::NhanVienVanPhong() { } void NhanVienVanPhong::nhap() { NhanVien::nhap(); cout << "\nNhap muc luong can ban: "; cin >> luongcanban; cout << "\nNhap so ngay nghi: "; cin >> ngaynghi; } void NhanVienVanPhong::xuat() { NhanVien::xuat(); cout << "\nLuong can ban: "<<size_t(luongcanban); cout << "\nSo ngay nghi: "<<ngaynghi; } double NhanVienVanPhong::Tinhluong() { time_t t = time(0);// Reset l?i th?i gian b?ng 0 struct tm *POs = localtime(&t); // Trong Struct tm có các class nh? th?i gian , ngày , tháng n?m ...v. int namhientai = POs->tm_year + 1900;// dòng này t?c là l?y n?m tr??c n?m 1900 nên ta ph?i c?ng thên 1900 nó m?i b?ng th?i gian ??u return luongcanban-(ngaynghi * 10000) + 100000 + ((namhientai - namvaolam) * 20000); } NhanVienVanPhong::~NhanVienVanPhong() { return; } //congty.h #pragma once #include"NhanVienVanPhong.h" #include<vector> class CongTy { private: vector<NhanVien *> Mangnhanvien; public: void Nhapmangnhanvien(); void Xuatmangnhanvien(); double Tinhluongnhanviencongtymoithang(); CongTy(); ~CongTy(); }; //congty.cpp #include "CongTy.h" #include<Windows.h> CongTy::CongTy() { } void CongTy::Nhapmangnhanvien() { int chon; NhanVien *POs = NULL; do { SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 5); cout << "\n. - -._. - -. - - _______?_¤? ... ?¤ -._. - -. - -._. - -. - -._. - -. - -._. - -.."; cout << "\n. Love.you! - Love.you!-._. - Love.you!-..Love.you!Love.you!"; cout << "\n. - -._. - -. - -._______?_¤? ... ?¤ _______?_¤? ... ?¤ _______?_¤? ... ?¤ "; cout << "\n|C-h-u-o-n-g---T-r-i-n-h---Q-u-a-n---L-y---N-h-a-n---V-i-e-n|"; cout << "\n|<-------*Nhap so tuong ung trong menu----------------->|"; cout << "\n|1.------*Nhap nhan vien san xuat*--------------------------|"; cout << "\n|2.------*Nhap nhan vien van phong--------------------------|"; cout << "\n|0.------*T-h-o-a-t'---C-h-u-o-n-g---T-r-i`-n-h-------------|"; cout << "\n|<--by a POsgia.com---------------------------------------->|"; cout << "\n|**https://www.facebook.com/chuc.tiensinh*******************|"; cout << "\n. - -._. - -. - -._. - -. - -._. - -. - _______?_¤? ... ?¤ _______?_¤? ... ?¤ - -."; cout << "\n. Love.you! - Love.you!-._. - Love.you!-..Love.you!Love.you!"; SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 15); do { cout << "\nNhap lua chon: "; cin >> chon; if (chon < 0 || chon>2) { cout << "\nCo 2 lua chon xin kiem tra lai!"; } } while (chon < 0 || chon>2); if (chon == 1) { POs = new NhanVienSanXuat; } else if (chon == 2) { POs = new NhanVienVanPhong; } if (chon != 0) { POs->nhap(); Mangnhanvien.push_back(POs); } } while (chon != 0); } void CongTy::Xuatmangnhanvien() { int POscout = Mangnhanvien.size(); for (int i = 0; i < POscout; i++) { SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 5); cout << "\nThong tin nhan vien thu: " << i + 1; SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 15); Mangnhanvien[i]->xuat(); cout << "\nTien luong cua ban la: "<<size_t(Mangnhanvien[i]->Tinhluong()); } } /// t?ng s? ti?n pah? tr? cho nhân viên m?i tháng double CongTy::Tinhluongnhanviencongtymoithang() { double tong = 0; int POscout = Mangnhanvien.size(); for (int i = 0; i < POscout; i++) { tong += Mangnhanvien[i]->Tinhluong(); } return tong; } CongTy::~CongTy() { } //main() #include<iostream> #include"CongTy.h" using namespace std; int main() { CongTy *a=new CongTy; a->Nhapmangnhanvien(); a->Xuatmangnhanvien(); cout << "\nSo tien phai tra cho nhan vien trong cong ty moi thang la: "; cout << "\n"<<size_t(a->Tinhluongnhanviencongtymoithang()/12); system("pause"); return 0; }

Be the first to 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.