- Mã:
- OOP_GK_QLThuVien
- Tên:
- Quản Lí Thư Viện
- 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
- Nguồn bài tập:
- Nhóm ILU
- Được tạo bởi:
- 4901104035
Nhà sách FIT tại HCMUE, do quá nhiều lượt đọc, mượn sách và quá trình tính toán hoá đơn rất phức tạp nên thủ thư trường đã cập nhật hệ thống quản lý thư viện kỹ thuật số để dễ dàng quản lý. Bạn cần phải giúp thủ thư thiết kế một hệ thống quản lý và tính toán các hóa đơn bao gồm thông tin khách hàng, thông tin sách mượn, tổng hoá đơn và tiền trả lại lại cho khách.
Đối với mỗi khách hàng ta cần quản lí các thông tin sau:
- Loại khách hàng
- Hạng của khách hàng
- Mã số khách hàng
- Họ và tên khách hàng
- Số điện thoại khách hàng
- Danh sách các quyển sách mượn:
+ Mã của cuốn sách
+ Số ngày mượn sách
+ Phí cọc sách
+ Số lượng sách mượn
- Tiền phí mượn sách (tổng hoá đơn)
- Số tiền mà khách hàng đưa
Trong đó tiền phí mượn là số tiền phải trả để mượn quyển sách trong N ngày mượn, đây là thuộc tính dành cho tất cả khách hàng, phí của từng loại sách (sau 1 ngày) và phí cọc mỗi loại sách như sau:
- Sách giáo khoa – (Mã: SGK)
+ Phí mượn: 1.000 VND
+ Phí cọc: 30.000 VND
- Sách giáo trình – (Mã: SGT)
+ Phí mượn: 1.100 VND
+ Phí cọc: 35.000 VND;
- Sách pháp luật – (Mã: SPL)
+ Phí mượn: 1.500 VND
+ Phí cọc: 35.000 VND
- Tạp chí khoa học – (Mã: SCI)
+ Phí mượn: 2.000 VND
+ Phí cọc: 20.000 VND
- Sách ngoại ngữ – (Mã: EB)
+ Phí mượn: 3.000 VND
+ Phí cọc: 40.000 VND
Trong các loại khách đến thư viện được chia thành 2 loại: giảng viên, giáo viên (GV); sinh viên, học sinh (HS).
- Đối với khách hàng là GV:
+ Không tính phí cọc sách.
+ Nếu thời gian mượn <= 15 ngày thì không tính phí mượn
+ Nếu thời gian mượn > 15 và <=30 ngày thì tính phí mượn như trên
+ Nếu thời gian mượn > 30 ngày thì phí mượn tăng 3% với mỗi ngày
=> Phí mượn sau N ngày = Phí mượn ban đầu x (1+0,03) ^ N x Số lượng quyển sách đã mượn ở loại sách đó
- Đối với khách hàng là HS:
+ Phí cọc = Tiền cọc của cuốn sách * Số lượng mượn
+ Nếu thời gian mượn <= 15 ngày thì phí mượn như trên
+ Nếu thời gian mượn > 15 ngày thì phí mượn tăng 5% cho mỗi ngày
=? Phí mượn sau N ngày = Phí mượn ban đầu x (1+0,05) ^ N x Số lượng quyển sách đã mượn ở loại sách đó
==> Như vậy tổng hoá đơn = Phí mượn sau N ngày mượn + Phí cọc (nếu có)
- Nếu tổng số sách mượn >=10 thì:
+ Đối với khách hàng là GV: tổng hoá đơn=tổng hoá đơn x (1-0.5)
- Nếu hạng của khách hàng là :
+ Vang: tổng hoá đơn=tổng hoá đơn x (1-0.3)
+ Bac: tổng hoá đơn=tổng hoá đơn x (1-0.2)
+ Dong: tổng hoá đơn=tổng hoá đơn x (1-0.1)
+ None: không giảm giá
Input:
Dòng 1: Nhập vào số lượng khách hàng.
Dòng 2: Nhập vào loại khách hàng theo cấu trúc
GV – Khách hàng là giảng viên, giáo viên.
HS – Khách hàng là học sinh, sinh viên.
Dòng 3: Nhập vào hạng của khách hàng
Dòng 4: Mã số khách hàng.
Dòng 5: Họ và tên khách hàng
Dòng 6: Số điện thoại khách hàng
Dòng 7: Nhập vào m là số sách mượn
m dòng tiếp theo, mỗi dòng chứa lần lượt mã sách mượn, thời gian mượn, số quyển sách cần mượn (mỗi số cách nhau bởi dấu cách).
Dòng m+1: Số tiền khách đưa
Output:
Dòng 1: Xuất loại khách hàng
Nếu loại khách hàng là GV thì xuất “GiangVien, GiaoVien”
Nếu loại khách hàng là HS thì xuất “HocSinh, SinhVien”
Dòng 2: Xuất hạng khách hàng
Dòng 3: Mã số khách hàng.
Dòng 4: Tên khách hàng.
Dòng 5: Số điện thoại
Dòng 6: Xuất m là số lượng sách đã mượn
m dòng tiếp theo mỗi dòng xuất “tên sách đã mượn – Số ngày mượn – Số lượng sách đã mượn ở loại sách này” (Xem ví dụ để hiểu rõ hơn)
Dòng m+1: Xuất tổng số tiền phí cho m quyển sách
Dòng m+2: Xuất số tiền thừa phải thối lại cho khách
Lưu ý:
Giữa mỗi khách hàng đều xuống dòng (trừ khách hàng cuối cùng) - Xem ví dụ để hiểu rõ hơn
Khi cout cần kèm theo fixed (VD: cout << fixed << tongHD;) để có thể in ra kết quả chính xác nhất
Input
Output
3
GV
Bac
GV_02
Red Hill
0342323223
2
SGK 13 13
SGT 14 90
100000
HS
Dong
HS_01
Hokage
0987654321
2
SGK 90 1
SGT 15 1
658724
HS
Bac
HS_02
Kudo Kaito Shinichi Kid
0246813579
3
SGK 18 5
SGT 10 9
SCI 8 7
123456
Loai Khach Hang: GiangVien/GiaoVien
Hang Khach Hang: Bac
Ma So Khach Hang: GV_02
Ho va Ten: Red Hill
So Dien Thoai: 0342323223
So quyen sach muon: 2
Danh Sach Cac Quyen Sach Muon:
-Sach Giao Khoa 13-Ngay 13-Quyen
-Sach Giao Trinh 14-Ngay 90-Quyen
Tong Tien: 0
Tien Tra Lai: 100000.000000
Loai Khach Hang: HocSinh/SinhVien
Hang Khach Hang: Dong
Ma So Khach Hang: HS_01
Ho va Ten: Hokage
So Dien Thoai: 0987654321
So quyen sach muon: 2
Danh Sach Cac Quyen Sach Muon:
-Sach Giao Khoa 90-Ngay 1-Quyen
-Sach Giao Trinh 15-Ngay 1-Quyen
Tong Tien: 92.775159
Tien Tra Lai: 658631.224841
Loai Khach Hang: HocSinh/SinhVien
Hang Khach Hang: Bac
Ma So Khach Hang: HS_02
Ho va Ten: Kudo Kaito Shinichi Kid
So Dien Thoai: 0246813579
So quyen sach muon: 3
Danh Sach Cac Quyen Sach Muon:
-Sach Giao Khoa 18-Ngay 5-Quyen
-Sach Giao Trinh 10-Ngay 9-Quyen
-Tap Chi Khoa Hoc 8-Ngay 7-Quyen
Tong Tien: 507.530000
Tien Tra Lai: 122948.470000
Theme :
Mời bạn soạn code