Bài giảng Lý thuyết hệ điều hành - Chương 14: Ứng dụng đa xạ - Nguyễn Tấn

2. BÀI TOÁN

TÍNH TIỀN LƢƠNG

 Bài toán: Công ty ABC là công ty sản xuất

kinh doanh thú nhồi bông. Công ty có nhiều

nhân viên làm việc trong ba bộ phận khác

nhau: bộ phận quản lý, bộ phận sản xuất, bộ

phận văn phòng. Việc tính lương cho nhân

viên dựa vào các yếu tố sau:

 Đối với nhân viên văn phòng

Lương = Lương Cơ Bản + Số ngày làm việc

*100.000 + Trợ Cấp

 Đối với nhân viên sản xuất

Lương = Lương Cơ Bản + Số Sản Phẩm * 2.000

 Đối với nhân viên quản lý

Lương = Lương Cơ Bản* Hệ số chức vụ +

Thưởng.

pdf25 trang | Chuyên mục: Hệ Điều Hành | Chia sẻ: yen2110 | Lượt xem: 423 | Lượt tải: 0download
Tóm tắt nội dung Bài giảng Lý thuyết hệ điều hành - Chương 14: Ứng dụng đa xạ - Nguyễn Tấn, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
Chương 14 - 1
LTHĐTKhoa CNTT
ThS. Nguyễn Tấn
Trần Minh Khang
Chƣơng 14
ỨNG DỤNG ĐA XẠ
Chương 14 - 2
LTHĐTKhoa CNTT
ThS. Nguyễn Tấn
Trần Minh Khang
2. BÀI TOÁN 
TÍNH TIỀN LƢƠNG
 Bài toán: Công ty ABC là công ty sản xuất
kinh doanh thú nhồi bông. Công ty có nhiều
nhân viên làm việc trong ba bộ phận khác
nhau: bộ phận quản lý, bộ phận sản xuất, bộ
phận văn phòng. Việc tính lương cho nhân
viên dựa vào các yếu tố sau:
 Đối với nhân viên văn phòng
Lương = Lương Cơ Bản + Số ngày làm việc 
*100.000 + Trợ Cấp
 Đối với nhân viên sản xuất
Lương = Lương Cơ Bản + Số Sản Phẩm * 2.000
 Đối với nhân viên quản lý
Lương = Lương Cơ Bản* Hệ số chức vụ + 
Thưởng.
Chương 14 - 3
LTHĐTKhoa CNTT
ThS. Nguyễn Tấn
Trần Minh Khang
2. BÀI TOÁN
TÍNH TIỀN LƢƠNG
 Ngoài ra công ty cần quản lý các thông tin
về nhân viên của mình như: họ tên, ngày
sinh và các thông số trên để tính lương
cho từng nhân viên trong công ty.
 Yêu cầu: Thiết kế các lớp thích hợp để thực
hiện các yêu cầu sau:
 Nhập thông tin của các nhân viên để phục
vụ cho việc tính lương.
 Thực hiện việc tính lương cho từng nhân
viên.
 Xuất thông tin của các nhân viên.
 Tính tổng lương của công ty.
 Tìm kiếm một nhân viên theo họ tên.
Chương 14 - 4
LTHĐTKhoa CNTT
ThS. Nguyễn Tấn
Trần Minh Khang
2. BÀI TOÁN
TÍNH TIỀN LƢƠNG
 Sơ đồ lớp sơ bộ
CCongTy
CSanXuat CVanPhong CQuanLy
CNhanVien
Có
Chương 14 - 5
LTHĐTKhoa CNTT
ThS. Nguyễn Tấn
Trần Minh Khang
 Sơ đồ lớp chi tiết
CCongTy
CSanXuat CVanPhong CQuanLy
CNhanVien
HoTen
NgaySinh
Luong
lcb
ssp snlv
TroCap
hscv
Thuong
n
CNhanVien *ds [100]
void Nhap()
void TinhLuong()
void Xuat()
float LayLuong()
CNhanVien*TimKiem
(char[]);
void Nhap()
void TinhLuong()
void Xuat()
float TongLuong()
CNhanVien*TimKiem
(char[]);
void Nhap()
void TinhLuong()
void Xuat()
float LayLuong()
CNhanVien*TimKiem
(char[]);
void Nhap()
void TinhLuong()
void Xuat()
float LayLuong()
CNhanVien*TimKiem
(char[]);
Chương 14 - 6
LTHĐTKhoa CNTT
ThS. Nguyễn Tấn
Trần Minh Khang
2. BÀI TOÁN
TÍNH TIỀN LƢƠNG
 Khai báo lớp
1. class CNhanVien
2. {
3. protected:
4. char hoten[31];
5. CNgay ngaysinh;
6. float luong;
7. float lcb;
8. public:
9. virtual void Nhap();
10. virtual void TinhLuong();
11. virtual void Xuat();
12. virtual float LayLuong();
13. virtual CNhanVien*TimKiem
(char []);
14.};
Chương 14 - 7
LTHĐTKhoa CNTT
ThS. Nguyễn Tấn
Trần Minh Khang
2. BÀI TOÁN
TÍNH TIỀN LƢƠNG
 Khai báo lớp
1. class CSanXuat:public CNhanVien
2. {
3. protected:
4. int ssp;
5. public:
6. void Nhap();
7. void TinhLuong();
8. void Xuat();
9. float LayLuong();
10. CNhanVien*TimKiem
(char []);
11.};
Chương 14 - 8
LTHĐTKhoa CNTT
ThS. Nguyễn Tấn
Trần Minh Khang
2. BÀI TOÁN
TÍNH TIỀN LƢƠNG
 Khai báo lớp
1. class CVanPhong:public CNhanVien
2. {
3. protected:
4. int snlv;
5. float trocap;
6. public:
7. void Nhap();
8. void TinhLuong();
9. void Xuat();
10. float LayLuong();
11. CNhanVien*TimKiem
(char []);
12.};
Chương 14 - 9
LTHĐTKhoa CNTT
ThS. Nguyễn Tấn
Trần Minh Khang
2. BÀI TOÁN
TÍNH TIỀN LƢƠNG
 Khai báo lớp
1. class CQuanLy:public CNhanVien
2. {
3. protected:
4. float hscv;
5. float thuong;
6. public:
7. void Nhap();
8. void TinhLuong();
9. void Xuat();
10. float LayLuong();
11. CNhanVien*TimKiem
(char []);
12.};
Chương 14 - 10
LTHĐTKhoa CNTT
ThS. Nguyễn Tấn
Trần Minh Khang
2. BÀI TOÁN
TÍNH TIỀN LƢƠNG
 Khai báo lớp
1. class CongTy
2. {
3. protected:
4. int n;
5. CNhanVien *ds[100];
6. public:
7. void Nhap();
8. void TinhLuong();
9. void Xuat();
10. float TongLuong();
11. CNhanVien*TimKiem
(char []);
12.};
Chương 14 - 11
LTHĐTKhoa CNTT
ThS. Nguyễn Tấn
Trần Minh Khang
2. BÀI TOÁN
TÍNH TIỀN LƢƠNG
1. float CNhanVien::LayLuong()
2. {
3. return luong;
4. }
Chương 14 - 12
LTHĐTKhoa CNTT
ThS. Nguyễn Tấn
Trần Minh Khang
2. BÀI TOÁN
TÍNH TIỀN LƢƠNG
1. float CSanXuat::LayLuong()
2. {
3. return luong;
4. }
Chương 14 - 13
LTHĐTKhoa CNTT
ThS. Nguyễn Tấn
Trần Minh Khang
2. BÀI TOÁN
TÍNH TIỀN LƢƠNG
1. float CQuanLy:LayLuong()
2. {
3. return luong;
4. }
Chương 14 - 14
LTHĐTKhoa CNTT
ThS. Nguyễn Tấn
Trần Minh Khang
2. BÀI TOÁN
TÍNH TIỀN LƢƠNG
1. float CVanPhong::LayLuong()
2. {
3. return luong;
4. }
Chương 14 - 15
LTHĐTKhoa CNTT
ThS. Nguyễn Tấn
Trần Minh Khang
2. BÀI TOÁN
TÍNH TIỀN LƢƠNG
1. CNhanVien* CNhanVien::
TimKiem(char ht[])
2. { 
3. if(strcmp(hoten,ht)==0)
4. return this;
5. return NULL;
6. }
Chương 14 - 16
LTHĐTKhoa CNTT
ThS. Nguyễn Tấn
Trần Minh Khang
2. BÀI TOÁN
TÍNH TIỀN LƢƠNG
1. CNhanVien* CSanXuat::
TimKiem(char ht[])
2. { 
3. if(strcmp(hoten,ht)==0)
4. return this;
5. return NULL;
6. }
Chương 14 - 17
LTHĐTKhoa CNTT
ThS. Nguyễn Tấn
Trần Minh Khang
2. BÀI TOÁN
TÍNH TIỀN LƢƠNG
1. CNhanVien* CVanPhong::
TimKiem(char ht[])
2. { 
3. if(strcmp(hoten,ht)==0)
4. return this;
5. return NULL;
6. }
Chương 14 - 18
LTHĐTKhoa CNTT
ThS. Nguyễn Tấn
Trần Minh Khang
2. BÀI TOÁN
TÍNH TIỀN LƢƠNG
1. CNhanVien* CQuanLy::
TimKiem(char ht[])
2. { 
3. if(strcmp(hoten,ht)==0)
4. return this;
5. return NULL;
6. }
Chương 14 - 19
LTHĐTKhoa CNTT
ThS. Nguyễn Tấn
Trần Minh Khang
2. BÀI TOÁN
TÍNH TIỀN LƢƠNG
1. CNhanVien* CCongTy::
TimKiem(char ht[])
2. {
3. for(int i=0;i<n;i++)
4. {
5. CNhanVien *kq;
6. kq=ds[i]->timkiem(ht);
7. if(kq!=NULL)
8. return kq;
9. }
10. return NULL;
11.}
Chương 14 - 20
LTHĐTKhoa CNTT
ThS. Nguyễn Tấn
Trần Minh Khang
2. BÀI TOÁN
TÍNH TIỀN LƢƠNG
1. float CCongTy::TongLuong()
2. {
3. float s =0;
4. for(int i=0;i<n;i++)
5. s=s+ds[i]->LayLuong();
6. return s;
7. }
Chương 14 - 21
LTHĐTKhoa CNTT
ThS. Nguyễn Tấn
Trần Minh Khang
2. BÀI TOÁN
TÍNH TIỀN LƢƠNG
1. void CNhanVien::TinhLuong()
2. {
3. return ;
4. }
Chương 14 - 22
LTHĐTKhoa CNTT
ThS. Nguyễn Tấn
Trần Minh Khang
2. BÀI TOÁN
TÍNH TIỀN LƢƠNG
1. void CSanXuat::TinhLuong()
2. {
3. luong = lcb+ssp*2000;
4. }
Chương 14 - 23
LTHĐTKhoa CNTT
ThS. Nguyễn Tấn
Trần Minh Khang
2. BÀI TOÁN
TÍNH TIỀN LƢƠNG
1. void CVanPhong::TinhLuong()
2. {
3. luong=lcb+sblv*100000+TroCap;
4. }
Chương 14 - 24
LTHĐTKhoa CNTT
ThS. Nguyễn Tấn
Trần Minh Khang
2. BÀI TOÁN
TÍNH TIỀN LƢƠNG
1. void CQuanLy::TinhLuong()
2. {
3. luong=lcb*hscv+thuong;
4. }
Chương 14 - 25
LTHĐTKhoa CNTT
ThS. Nguyễn Tấn
Trần Minh Khang
2. BÀI TOÁN
TÍNH TIỀN LƢƠNG
1. void CCongTy::TinhLuong()
2. {
3. for(int i=0;i<n;i++)
4. ds[i]->TinhLuong();
5. }

File đính kèm:

  • pdfbai_giang_ly_thuyet_he_dieu_hanh_chuong_14_ung_dung_da_xa_ng.pdf