Bài tập C++: Bài tập tính kế thừa (tiếp)




Bài tập

Viết chương trình C++ để hiển thị chi tiết bảng lương của nhân viên. Chương trình của bạn sẽ nhắc người dùng nhập số thứ tự nhân viên, id, tên, chức danh, lương cơ bản, phụ cấp thu hút, phụ cấp chức vụ, phụ cấp trách nhiệm, sau đó tính tổng lương và hiển thị kết quả.

Lời giải

Dưới đây là chương trình C++ để giải bài tập trên. Để giải bài này, mình sử dụng tính kế thừa trong C++.

  • Đầu tiên, khai báo một lớp cơ sở nhanvien, định nghĩa hàm get() để lấy chi tiết về nhân viên.

  • Khai báo lớp kế thừa luong, sau đó khai báo hàm get1() để lấy chi tiết về lương nhân viên.

  • Kế tiếp, bạn định nghĩa hàm calculate() để tìm tổng lương và định nghĩa hàm display().

  • Tạo đối tượng của lớp kế thừa, đọc số nhân viên.

  • Sau đó gọi hàm get(), get1() và calculate() cho mỗi nhân viên và cuối cùng gọi hàm display().

#include<iostream>
#include<conio.h>
using namespace std;
 
class nhanvien
{
   public:
     int idnhanvien;
     char tennhanvien[20],chucdanh[20];
     void get()
     {
              cout<<"Nhap id cua nhan vien: ";
              cin>>idnhanvien;
              cout<<"Nhap ten nhan vien: ";
              cin>>tennhanvien;
              cout<<"Nhap chuc danh cua nhan vien: ";
              cin>>chucdanh;
     }
};
 class luong:public nhanvien
{
     float lcoban,pthuhut,pchucvu,ptrachnhiem,lrong;
   public:
     void get1()
     {             
              cout<<"Nhap luong co ban: ";
              cin>>lcoban;
              cout<<"Nhap phu cap thu hut: ";
              cin>>pthuhut;
              cout<<"Nhap phu cap chuc vu: ";
              cin>>pchucvu;
              cout<<"Nhap phu cap trach nhiem: ";
              cin>>ptrachnhiem;
     }
     void calculate()
     {
              lrong=lcoban+pthuhut+pchucvu+ptrachnhiem;
     }
     void display()
     {
              cout<<idnhanvien<<"\t"<<tennhanvien<<"\t"<<chucdanh<<"\t"<<lcoban<<"\t"<<pthuhut<<"\t"<<pchucvu<<"\t"<<ptrachnhiem<<"\t"<<lrong<<"\n";
     }
};
 
int main()
{
    int i,n;
    char ch;
    luong s[10];
    
    cout<<"Nhap so nhan vien: ";
    cin>>n;
    for(i=0;i<n;i++)
    {
              s[i].get();
              s[i].get1();
              s[i].calculate();
    }
    cout<<"\nid \tten \tchucdanh \tlcoban \tpthhut \tpchvu \tptnhiem \tlrong \n";
    for(i=0;i<n;i++)
    {
              s[i].display();
    }
    return 0;
}

Chạy chương trình C++ trên sẽ cho kết quả như hình sau:

Bài tập về Tính kế thừa trong C++

Follow https://www.facebook.com/vietjackteam/ để tiếp tục theo dõi các loạt bài mới nhất về Java,C,C++,Javascript,HTML,Python,Database,Mobile.... mới nhất của chúng tôi.