HƯỚNG DẪN BÀI TẬP THỰC HÀNH KỸ THUẬT THỪA KẾ | Lập Trình Hướng Đối Tượng

1. Vẽ sơ đồ cấu trúc phân cấp (sơ đồ phả hệ) cho các lớp.
2. Định nghĩa các lớp để quản lý theo yêu cầu của trường.
3. Xây dựng các phương thức xử lý cho các lớp trên.  Hi vọng hướng dẫn sẽ
giúp bạn tham khảo, củng cố kiến thức và ôn tập đạt kết quả cao.

1
NG DN BÀI TP THC HÀNH K THUT THA K
Một trường đại hc (TRUONGDH) cn qun lý thông tin v vic cấp thưởng cho các đối tượng xut sc
(DTXS) của các khoa như sau:
Ging viên (GV): mã s, h tên, khoa và s bài báo khoa hc. Mi bài báo khoa hc s được cp
thưởng 20 triệu. Ngoài ra, nhà trường còn thưởng thêm để h tr chi phí đăng bài như sau:
- 3 ≤ SoBB ≤ 5: thưởng thêm 10 triu.
- SoBB ≥ 6: thưởng thêm 15 triu.
Sinh viên (SV): mã s, h tên, khoa, điểm trung bình và điểm rèn luyện. Điểm trung bình tính theo
thang điểm 10 và điểm rèn luyện tính theo thang điểm 100. Các SV có điểm rèn luyn t 85 tr lên
mới được xem xét cấp thưởng theo quy định:
- 8.5 ≤ Điểm trung bình ≤ 9: thưởng 5 triu.
- Điểm trung bình > 9: thưởng 7 triu.
Nhân viên (NV): mã s, h tên, khoa và s sáng kiến kinh nghim. Mi sáng kiến kinh nghim s
được cấp thưởng 3 triệu, tăng 20% số tin cấp thưởng nếu có t 3 sáng kiến kinh nghim tr lên.
Yêu cu:
1. V sơ đồ cu trúc phân cp (sơ đồ ph h) cho các lp.
2. Định nghĩa các lớp để qun lý theo yêu cu của trường.
3. Xây dựng các phương thức x lý cho các lp trên.
4. Lit kê d/s các GV có 5 bài báo khoa hc tr lên.
5. Đếm s ng các SV có điểm rèn luyn tối đa.
6. Tính tng tin cấp thưởng cho các NV có 3 sáng kiến kinh nghim tr lên.
7. Tính điểm trung bình ca các SV có điểm rèn luyện dưới 50.
8. Kim tra trường có GV nào chưa có bài báo khoa hc không?
9. Tìm các NV có s sáng kiến kinh nghim nhiu nht.
10. Sp xếp d/s các DTXS tăng dần theo mã s, gim dn theo tiền thưởng.
11. Thêm 1 DTXS mi.
12. Xóa 1 DTXS có mã s do người dùng nhp vào.
13. Tìm kiếm DTXS theo: mã s, h tên, khoa, tin thưởng.
14. Cp nht thông tin DTSX có mã s do người dùng nhp vào.
2
ng dn:
1. V sơ đồ cu trúc phân cấp (sơ đồ ph h) cho các lp.
TRUONGDH
+ pdtxs: DTXS**
+ sl: int
+ TRUONGDH()
+ ~TRUONGDH()
+ GetSL()
+ Nhap()
+ Xuat()
+ LietKeGVCoTu5BaiBao()
+ DemSVCoDRLToiDa()
+ TinhTongTienThuongNVCo3SKKNTroLen()
+ TinhDTBCuaSVCoDRLDuoi50()
+ KiemTraGVChuaCoBaiBao()
+ TimNVCoSKKNNhieuNhat()
+ DoiChuoiInHoa(string)
+ DoiChuoiInThuong(string)
+ SapXepMaSoTangDan()
+ TimDTXSTheoTungKhoa(string)
+ CapNhatThongTinTheoMaSo(string)
DTXS
+ maso, hoten, khoa: string
+ loai: int (1: GV, 2: SV, 3: NV)
+ DTXS(string = "", string = "", string = "", int = 0)
+ GetMaSo()
+ GetHoTen()
+ GetKhoa()
+ GetLoai()
+ SetHoten(string)
+ SetKhoa(string)
+
Nhap(): virtual
+
Xuat(): virtual
+
TinhTienThuong(): virtual = 0
+ GetSoBB(): virtual = 0
+
GetDTB(): virtual = 0
+
GetDRL(): virtual = 0
+
GetSoSK(): virtual = 0
+
SetSoBB(int): virtual = 0
+
SetDTB(double): virtual = 0
+
SetDRL(double): virtual = 0
+
SetSoSK(int): virtual = 0
Has - A
GV
+ sobb: int
+ GV(string = "", string = "",
string = "", int = 0)
+ GetSoBB()
+ SetSoBB(int)
+ Nhap()
+
Xuat()
+
TinhTienThuong()
+ GetDTB()
+ GetDRL()
+
GetSoSK()
+
SetDTB(double)
+
SetDRL(double)
+ SetSoSK(int)
SV
+ dtb, drl: double
+ SV(string = "", string = "",
string = "", double = 0, double = 0)
+ GetDTB()
+ GetDRL()
+ SetDTB(double)
+ SetDRL(double)
+
Nhap()
+
Xuat()
+
TinhTienThuong()
+ GetSoBB()
+
GetSoSK()
+ SetSoBB(int)
+ SetSoSK(int)
NV
+ sosk: int
+ NV(string = "", string = "",
string = "", int = 0)
+ GetSoSK()
+ SetSoSK(int)
+
Nhap()
+
Xuat()
+ TinhTienThuong()
+ GetSoBB()
+
GetDTB()
+
GetDRL()
+
SetSoBB(int)
+ SetDTB(double)
+ SetDRL(double)
Is - A
Is - A
Is - A
3
2. Định nghĩa các lớp để qun lý theo yêu cu của trường.
4
5
3. Xây dựng các phương thức x lý cho các lp trên.
6
7
8
9
10
11
12
13
14
Yêu cu:
1. Xây dng thêm 3 phương thức:
a. Thêm 1 DTXS mi
b. Xóa 1 DTXS có mã s do người dùng nhp vào.
c. Xóa toàn b d/s DTXS
2. X lý to, đọc và ghi file lưu thông tin các DTXS của TRUONGDH.
| 1/14

Preview text:

HƯỚNG DẪN BÀI TẬP THỰC HÀNH KỸ THUẬT THỪA KẾ
Một trường đại học (TRUONGDH) cần quản lý thông tin về việc cấp thưởng cho các đối tượng xuất sắc
(DTXS) của các khoa như sau:
• Giảng viên (GV): mã số, họ tên, khoa và số bài báo khoa học. Mỗi bài báo khoa học sẽ được cấp
thưởng 20 triệu. Ngoài ra, nhà trường còn thưởng thêm để hỗ trợ chi phí đăng bài như sau:
- 3 ≤ SoBB ≤ 5: thưởng thêm 10 triệu.
- SoBB ≥ 6: thưởng thêm 15 triệu.
• Sinh viên (SV): mã số, họ tên, khoa, điểm trung bình và điểm rèn luyện. Điểm trung bình tính theo
thang điểm 10 và điểm rèn luyện tính theo thang điểm 100. Các SV có điểm rèn luyện từ 85 trở lên
mới được xem xét cấp thưởng theo quy định:
- 8.5 ≤ Điểm trung bình ≤ 9: thưởng 5 triệu.
- Điểm trung bình > 9: thưởng 7 triệu.
• Nhân viên (NV): mã số, họ tên, khoa và số sáng kiến kinh nghiệm. Mỗi sáng kiến kinh nghiệm sẽ
được cấp thưởng 3 triệu, tăng 20% số tiền cấp thưởng nếu có từ 3 sáng kiến kinh nghiệm trở lên. Yêu cầu:
1. Vẽ sơ đồ cấu trúc phân cấp (sơ đồ phả hệ) cho các lớp.
2. Định nghĩa các lớp để quản lý theo yêu cầu của trường.
3. Xây dựng các phương thức xử lý cho các lớp trên.
4. Liệt kê d/s các GV có 5 bài báo khoa học trở lên.
5. Đếm số lượng các SV có điểm rèn luyện tối đa.
6. Tính tổng tiền cấp thưởng cho các NV có 3 sáng kiến kinh nghiệm trở lên.
7. Tính điểm trung bình của các SV có điểm rèn luyện dưới 50.
8. Kiểm tra trường có GV nào chưa có bài báo khoa học không?
9. Tìm các NV có số sáng kiến kinh nghiệm nhiều nhất.
10. Sắp xếp d/s các DTXS tăng dần theo mã số, giảm dần theo tiền thưởng. 11. Thêm 1 DTXS mới.
12. Xóa 1 DTXS có mã số do người dùng nhập vào.
13. Tìm kiếm DTXS theo: mã số, họ tên, khoa, tiền thưởng.
14. Cập nhật thông tin DTSX có mã số do người dùng nhập vào. 1 Hướng dẫn:
1. Vẽ sơ đồ cấu trúc phân cấp (sơ đồ phả hệ) cho các lớp.
TRUONGDH DTXS + pdtxs: DTXS** + maso, hoten, khoa: string + sl: int
+ loai: int (1: GV, 2: SV, 3: NV) + TRUONGDH()
+ DTXS(string = "", string = "", string = "", int = 0) + ~TRUONGDH() + GetMaSo() + GetSL() Has - A + GetHoTen() + Nhap() + GetKhoa() + Xuat() + GetLoai() + LietKeGVCoTu5BaiBao() + SetHoten(string) + DemSVCoDRLToiDa() + SetKhoa(string)
+ TinhTongTienThuongNVCo3SKKNTroLen() + Nhap(): virtual + TinhDTBCuaSVCoDRLDuoi50() + Xuat(): virtual + KiemTraGVChuaCoBaiBao()
+ TinhTienThuong(): virtual = 0 + TimNVCoSKKNNhieuNhat() + GetSoBB(): virtual = 0 + DoiChuoiInHoa(string) + GetDTB(): virtual = 0 + DoiChuoiInThuong(string) + GetDRL(): virtual = 0 + SapXepMaSoTangDan() + GetSoSK(): virtual = 0 + TimDTXSTheoTungKhoa(string) + SetSoBB(int): virtual = 0
+ CapNhatThongTinTheoMaSo(string) + SetDTB(double): virtual = 0 + SetDRL(double): virtual = 0 + SetSoSK(int): virtual = 0 Is - A Is - A Is - A GV SV NV + sobb: int + dtb, drl: double + sosk: int
+ GV(string = "", string = "",
+ SV(string = "", string = "",
+ NV(string = "", string = "", st ring = "", int = 0)
string = "", double = 0, double = 0) string = "", int = 0) + GetDTB() + GetSoBB() + GetSoSK() + SetSoBB(int) + GetDRL() + SetSoSK(int) + Nhap() + SetDTB(double) + Nhap() + Xuat() + SetDRL(double) + Xuat() + TinhTienThuong() + Nhap() + TinhTienThuong() + GetDTB() + Xuat() + GetSoBB() + GetDRL() + TinhTienThuong() + GetDTB() + GetSoSK() + GetSoBB() + GetDRL() + SetDTB(double) + GetSoSK() + SetSoBB(int) + SetDRL(double) + SetSoBB(int) + SetDTB(double) + SetSoSK(int) + SetSoSK(int) + SetDRL(double) 2
2. Định nghĩa các lớp để quản lý theo yêu cầu của trường. 3 4
3. Xây dựng các phương thức xử lý cho các lớp trên. 5 6 7 8 9 10 11 12 13 Yêu cầu:
1. Xây dựng thêm 3 phương thức: a. Thêm 1 DTXS mới
b. Xóa 1 DTXS có mã số do người dùng nhập vào. c. Xóa toàn bộ d/s DTXS
2. Xử lý tạo, đọc và ghi file lưu thông tin các DTXS của TRUONGDH.
14