[Buổi 20][Chuỗi][RDD] Bài 30: Quản lý điểm thi
Quản lý điểm thi
Bối cảnh
Bài toán được mô tả qua yêu cầu và dữ liệu dưới đây.
Yêu cầu
Trường đại học XYZ muốn quản lý điểm thi của sinh viên. Quy tắc tính điểm như sau:
- Điểm tổng kết = (Điểm thi giữa kỳ × 30%) + (Điểm thi cuối kỳ × 70%)
- Xếp loại:
- Nếu Điểm tổng kết ≥ 8.5: Giỏi
- Nếu Điểm tổng kết ≥ 7.0: Khá
- Nếu Điểm tổng kết ≥ 5.5: Trung bình
- Nếu Điểm tổng kết < 5.5: Yếu
Hãy nhập thông tin các sinh viên và tính toán điểm tổng kết và xếp loại theo quy tắc trên.
Input
- Dòng đầu ghi số sinh viên (không quá 100 sinh viên)
- Mỗi sinh viên ghi trên 4 dòng:
- Họ tên
- Điểm thi giữa kỳ
- Điểm thi cuối kỳ
- Mã sinh viên
Output
Ghi ra danh sách sinh viên đã được tính điểm gồm các thông tin:
- Mã sinh viên
- Tên sinh viên
- Điểm thi giữa kỳ
- Điểm thi cuối kỳ
- Điểm tổng kết
- Xếp loại
Dòng cuối ghi tổng số sinh viên đạt loại Giỏi, Khá, Trung bình, Yếu (theo mẫu trong ví dụ).
Ràng buộc
Đề gốc không nêu ràng buộc riêng.
Ví dụ 1
Input
3
Nguyen Van An
8.5
9.0
SV001
Tran Thi Binh
7.0
8.5
SV002
Le Quang Cuong
6.5
7.0
SV003
Output
SV001 Nguyen Van An 8.5 9.0 8.85 Gioi
SV002 Tran Thi Binh 7.0 8.5 8.05 Kha
SV003 Le Quang Cuong 6.5 7.0 6.85 Trung binh
Tong so sinh vien: Gioi: 1, Kha: 1, Trung binh: 1, Yeu: 0
Giải thích ví dụ
- Đầu vào: Nguyen Van An 8.5 9.0 SV001
- Đầu ra: SV001 Nguyen Van An 8.5 9.0 8.85 Gioi
Dòng này hiển thị thông tin chi tiết về sinh viên SV001, bao gồm mã sinh viên, tên, điểm thi giữa kỳ, điểm thi cuối kỳ, điểm tổng kết và xếp loại. Tổng số sinh viên theo từng loại cũng được tính toán và hiển thị ở dòng cuối.
Cách tính điểm tổng kết cho Nguyen Van An: Điểm tổng kết = (8.5 × 30%) + (9.0 × 70%) = 2.55 + 6.3 = 8.85
Thông tin học tập
- Buổi: B20
- Concepts: std::string/getline, arrays/vectors, if/else, aggregation
- Giới hạn kiến thức: B01-B20
- Time limit: 2 seconds
- Memory limit: 64 MB
- Point: 10
Comments