Nội dung Bài tập
Mã:
[OOP]Cau2.Final.hk1.2017-2018
Tên:
Quản lý nhân viên công ty
Dạng thi:
oi
Thang điểm:
10 điểm
Giới hạn thời gian:
1 giây
Giới hạn bộ nhớ:
256 MB
Được tạo bởi:
admin

Một công ty cần tin học hóa công việc tính tiền lương cho nhân viên trong toàn công ty. Nội dung yêu cầu như sau:

Cần lưu danh sách các nhân viên, trong đó mỗi nhân viên có ít nhất các thông tin: Mã số nhân viên, Họ tên, Năm sinh, Mã số thuế cá nhân, Loại nhân viên: nhân viên thời toàn thời gian, nhân viên bán thời gian.

Tiền lương mỗi tháng cho mỗi loại nhân viên trong công ty được tính theo quy tắc sau:

      - Đối với nhân viên toàn thời gian:

Tiền lương = Bậc lương * lương cơ bản + phụ cấp. Trong đó tất cả các nhân viên toàn thời gian có cùng một mức lương cơ bản, mỗi nhân viên toàn thời gian sẽ có bậc lương và phụ cấp khác nhau.

      - Đối với nhân viên bán thời gian:

Tiền lương = Số giờ làm việc trong tháng * Tiền công mỗi giờ. Nếu nhân viên bán thời gian đã có mã số thuế thì bị trừ 10% trên tổng số tiền lương. Nếu nhân viên bán thời gian chưa có mã số thuế thì bị trừ 20% trên tổng số tiền lương.

Trong đó tất cả các nhân viên bán thời gian có cùng tiền công mỗi giờ và mỗi nhân viên bán thời gian sẽ có số giờ làm việc khác nhau.

Yêu cầu:

a.      Hãy khai báo thuộc tính và phương thức của các lớp trong sơ đồ lớp (phải sử dụng kế thừa, đa hình, thành phần tĩnh) để giái quyết vấn đề theo những đặc tả trên.

b.      Hãy xây dựng đầy đủ các phương thức sau ở mỗi lớp: 3 loại phương thức khởi tạo và phương thức hủy.

c.      Xây dựng phương thức tính tiền lương của mỗi loại nhân viên.

d.      Cài đặt một hàm hiển thị lương cho từng nhân viên với prototype như sau:

void hienThiLuong(NHANVIEN *pnv[], int n) ;

Trong đó: pnv là một mảng các con trỏ mà mỗi phần tử lưu địa chỉ của một đối tượng thuộc 1 trong các loại nhân viên kể trên, n là tổng số nhân viên.

e.       Xây dựng hàm main để nhập và xuất dữ liệu theo yêu cầu sau:

Input:

-          Dòng đầu tiên là số N – số lượng nhân viên trong công ty.

-          Dòng 2: chứa 2 số nguyên là mức lương cơ bản và tiền công mỗi giờ.

-          Nx6 dòng tiếp theo là thông tin của từng nhân viên với cấu trúc sau:

o   Loại nhân viên: Qui ước: TTG – là nhân viên toàn thời gian, BTG – là nhân  viên bán thời gian.

o   Mã số nhân viên

o   Họ tên

o   Năm sinh

o   Mã số thuế: qui ước # là nhân viên chưa có mã số thuế.

o   Dòng tiếp theo là chứa 2 số nguyên là bậc lương và phụ cấp nếu là nhân viên toàn thời gian hoặc chứa 1 số nguyên là số giờ làm việc của nhân viên bán thời gian.

 Output:

-          Xuất thông tin của tất cả nhân viên (xem ví dụ mẫu để hiểu rõ hơn)


Ví dụ:

InputOutput
2
2000000 200000
TTG
NV01
Nguyen Van A
1983
123
2 500000
BTG
NV02
Tran Thi B
1980
#
20
Bang Tien Luong Cong Ty

NV01: Nguyen Van A
Loai: Toan thoi gian
Ma so thue:123
Nam sinh:1983
Bac: 2
Phu cap: 500000
Luong: 2*2000000+500000=4500000 (vnd)

NV02: Tran Thi B
Loai: Ban thoi gian
Ma so thue: Khong co
Nam sinh:1980
Thoi gian: 20 (gio)
Luong: 20*200000-20*200000*20%=3200000 (vnd)

    Quảng cáo
       Ngôn ngữ : 

       Theme : 
Mời bạn soạn code



		



      Ai có thể xem bài này : 

Thông tin



Phần thảo luận