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().

Quảng cáo
#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:

Quảng cáo
Bài tập về Tính kế thừa trong C++

Đã có app VietJack trên điện thoại, giải bài tập SGK, SBT Soạn văn, Văn mẫu, Thi online, Bài giảng....miễn phí. Tải ngay ứng dụng trên Android và iOS.

Theo dõi chúng tôi miễn phí trên mạng xã hội facebook và youtube:

Các bạn có thể mua thêm khóa học JAVA CORE ONLINE VÀ ỨNG DỤNG cực hay, giúp các bạn vượt qua các dự án trên trường và đi thực tập Java. Khóa học có giá chỉ 300K, nhằm ưu đãi, tạo điều kiện cho sinh viên cho thể mua khóa học.

Nội dung khóa học gồm 16 chuơng và 100 video cực hay, học trực tiếp tại https://www.udemy.com/tu-tin-di-lam-voi-kien-thuc-ve-java-core-toan-tap/ Bạn nào có nhu cầu mua, inbox trực tiếp a Tuyền, cựu sinh viên Bách Khoa K53, fb: https://www.facebook.com/tuyen.vietjack

Follow facebook cá nhân Nguyễn Thanh Tuyền https://www.facebook.com/tuyen.vietjack để 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.




Tài liệu giáo viên