Giáo trình Hệ điều hành - Chương 14: Ứng dụng đa xạ - Nguyễn Tấn

pdf 25 trang huongle 3860
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Hệ điều hành - Chương 14: Ứng dụng đa xạ - Nguyễn Tấn", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfgiao_trinh_he_dieu_hanh_chuong_14_ung_dung_da_xa_nguyen_tan.pdf

Nội dung text: Giáo trình Hệ điều hành - Chương 14: Ứng dụng đa xạ - Nguyễn Tấn

  1. Khoa CNTT LTHĐT Chƣơng 14 ỨNG DỤNG ĐA XẠ ThS. Nguyễn Tấn Chương 14 - 1 Trần Minh Khang
  2. Khoa CNTT LTHĐT 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. ThS. Nguyễn Tấn Chương 14 - 2 Trần Minh Khang
  3. Khoa CNTT LTHĐT 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. ThS. Nguyễn Tấn Chương 14 - 3 Trần Minh Khang
  4. Khoa CNTT LTHĐT 2. BÀI TOÁN TÍNH TIỀN LƢƠNG  Sơ đồ lớp sơ bộ Có CCongTy CNhanVien CSanXuat CVanPhong CQuanLy ThS. Nguyễn Tấn Chương 14 - 4 Trần Minh Khang
  5. Khoa CNTT LTHĐT HoTen  Sơ đồ lớp chi tiết NgaySinh Luong lcb CCongTy CNhanVien void Nhap() n void TinhLuong() CNhanVien *ds [100] void Xuat() void Nhap() float LayLuong() void TinhLuong() CNhanVien*TimKiem void Xuat() (char[]); float TongLuong() CNhanVien*TimKiem (char[]); CSanXuat CVanPhong CQuanLy hscv Thuong ssp snlv TroCap void Nhap() void Nhap() void TinhLuong() void TinhLuong() void Xuat() void Xuat() float LayLuong() float LayLuong() CNhanVien*TimKiem CNhanVien*TimKiem (char[]); (char[]); ThS. Nguyễn Tấn Chương 14 - 5 Trần Minh Khang
  6. Khoa CNTT LTHĐT 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. }; ThS. Nguyễn Tấn Chương 14 - 6 Trần Minh Khang
  7. Khoa CNTT LTHĐT 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. }; ThS. Nguyễn Tấn Chương 14 - 7 Trần Minh Khang
  8. Khoa CNTT LTHĐT 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. }; ThS. Nguyễn Tấn Chương 14 - 8 Trần Minh Khang
  9. Khoa CNTT LTHĐT 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. }; ThS. Nguyễn Tấn Chương 14 - 9 Trần Minh Khang
  10. Khoa CNTT LTHĐT 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. }; ThS. Nguyễn Tấn Chương 14 - 10 Trần Minh Khang
  11. Khoa CNTT LTHĐT 2. BÀI TOÁN TÍNH TIỀN LƢƠNG 1. float CNhanVien::LayLuong() 2. { 3. return luong; 4. } ThS. Nguyễn Tấn Chương 14 - 11 Trần Minh Khang
  12. Khoa CNTT LTHĐT 2. BÀI TOÁN TÍNH TIỀN LƢƠNG 1. float CSanXuat::LayLuong() 2. { 3. return luong; 4. } ThS. Nguyễn Tấn Chương 14 - 12 Trần Minh Khang
  13. Khoa CNTT LTHĐT 2. BÀI TOÁN TÍNH TIỀN LƢƠNG 1. float CQuanLy:LayLuong() 2. { 3. return luong; 4. } ThS. Nguyễn Tấn Chương 14 - 13 Trần Minh Khang
  14. Khoa CNTT LTHĐT 2. BÀI TOÁN TÍNH TIỀN LƢƠNG 1. float CVanPhong::LayLuong() 2. { 3. return luong; 4. } ThS. Nguyễn Tấn Chương 14 - 14 Trần Minh Khang
  15. Khoa CNTT LTHĐT 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. } ThS. Nguyễn Tấn Chương 14 - 15 Trần Minh Khang
  16. Khoa CNTT LTHĐT 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. } ThS. Nguyễn Tấn Chương 14 - 16 Trần Minh Khang
  17. Khoa CNTT LTHĐT 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. } ThS. Nguyễn Tấn Chương 14 - 17 Trần Minh Khang
  18. Khoa CNTT LTHĐT 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. } ThS. Nguyễn Tấn Chương 14 - 18 Trần Minh Khang
  19. Khoa CNTT LTHĐT 2. BÀI TOÁN TÍNH TIỀN LƢƠNG 1. CNhanVien* CCongTy:: TimKiem(char ht[]) 2. { 3. for(int i=0;i timkiem(ht); 7. if(kq!=NULL) 8. return kq; 9. } 10. return NULL; 11. } ThS. Nguyễn Tấn Chương 14 - 19 Trần Minh Khang
  20. Khoa CNTT LTHĐT 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 LayLuong(); 6. return s; 7. } ThS. Nguyễn Tấn Chương 14 - 20 Trần Minh Khang
  21. Khoa CNTT LTHĐT 2. BÀI TOÁN TÍNH TIỀN LƢƠNG 1. void CNhanVien::TinhLuong() 2. { 3. return ; 4. } ThS. Nguyễn Tấn Chương 14 - 21 Trần Minh Khang
  22. Khoa CNTT LTHĐT 2. BÀI TOÁN TÍNH TIỀN LƢƠNG 1. void CSanXuat::TinhLuong() 2. { 3. luong = lcb+ssp*2000; 4. } ThS. Nguyễn Tấn Chương 14 - 22 Trần Minh Khang
  23. Khoa CNTT LTHĐT 2. BÀI TOÁN TÍNH TIỀN LƢƠNG 1. void CVanPhong::TinhLuong() 2. { 3. luong=lcb+sblv*100000+TroCap; 4. } ThS. Nguyễn Tấn Chương 14 - 23 Trần Minh Khang
  24. Khoa CNTT LTHĐT 2. BÀI TOÁN TÍNH TIỀN LƢƠNG 1. void CQuanLy::TinhLuong() 2. { 3. luong=lcb*hscv+thuong; 4. } ThS. Nguyễn Tấn Chương 14 - 24 Trần Minh Khang
  25. Khoa CNTT LTHĐT 2. BÀI TOÁN TÍNH TIỀN LƢƠNG 1. void CHinh::Nhap() 2. { 3. return ; 4. } ThS. Nguyễn Tấn Chương 14 - 25 Trần Minh Khang