Admin Học Vấn Cho Con|
08/10/2025
8lượt xem
0bình luận

C++ Bài 26: [Bài Tập] Phân loại học lực theo điểm trung bình

Mục lục

Trong các ứng dụng quản lý học tập, việc tự động phân loại học lực học sinh theo điểm trung bình (GPA) là rất quan trọng. Bài tập này sẽ hướng dẫn bạn xây dựng chương trình C++ để:

  • Nhập điểm trung bình (double)
  • Kiểm tra hợp lệ (0–10)
  • Phân loại thành Xuất sắc, Giỏi, Khá, Trung bình, Yếu
  • Hiển thị kết quả rõ ràng
  • Báo lỗi khi đầu vào không hợp lệ
    Toàn bộ dùng đúng cú pháp if-else theo yêu cầu kế hoạch.

📚 KIẾN THỨC CƠ BẢN

  1. Điểm trung bình (diemTB): số thập phân từ 0.0 đến 10.0
  2. Quy tắc phân loại:
    • Xuất sắc: diemTB >= 9.0
    • Giỏi: 8.0 <= diemTB < 9.0
    • Khá: 6.5 <= diemTB < 8.0
    • Trung bình: 5.0 <= diemTB < 6.5
    • Yếu: diemTB < 5.0
  3. Cú pháp if-else
if (đk1) { // ... } else if (đk2) { // ... } else { // ... }

🔧 THUẬT TOÁN

  1. Nhập diemTB
  2. Nếu diemTB ngoài , in “Điểm không hợp lệ” và dừng
  3. Ngược lại dùng chuỗi if-else if-else so sánh từ cao xuống thấp
  4. In ra xếp loại tương ứng

🛠️ CODE MẪU

#include <iostream>
#include <iomanip>
using namespace std;

int main() {
    double diemTB;
    cout << "Nhập điểm trung bình (0–10): ";
    cin >> diemTB;

    // Bước 1: Kiểm tra hợp lệ
    if (diemTB < 0.0 || diemTB > 10.0) {
        cout << "❌ Điểm không hợp lệ. Vui lòng nhập số trong khoảng 0 đến 10.\n";
        return 0;
    }

    // Hiển thị điểm với 1 chữ số thập phân
    cout << fixed << setprecision(1);
    cout << "Điểm TB: " << diemTB << "\n";

    // Bước 2: Phân loại
    if (diemTB >= 9.0) {
        cout << "🏅 Xếp loại: Xuất sắc\n";
    } else if (diemTB >= 8.0) {
        cout << "🎖️ Xếp loại: Giỏi\n";
    } else if (diemTB >= 6.5) {
        cout << "👏 Xếp loại: Khá\n";
    } else if (diemTB >= 5.0) {
        cout << "🙂 Xếp loại: Trung bình\n";
    } else {
        cout << "⚠️ Xếp loại: Yếu\n";
    }

    return 0;
}

Giải thích

  • if (diemTB < 0.0 || diemTB > 10.0): validation
  • Mỗi nhánh else if kiểm từ mức cao xuống thấp
  • Nhánh cuối else cho điểm dưới 5.0

🌟 VÍ DỤ MINH HỌA

Điểm TBKết quả
9.5Xuất sắc
8.3Giỏi
7.0Khá
5.5Trung bình
4.0Yếu
-1Không hợp lệ
10.1Không hợp lệ

📝 BÀI TẬP THỰC HÀNH

🟢 Cơ bản (Basic)

  1. Đổi độ chính xác
    • In điểm với 2 chữ số thập phân
    • Sử dụng setprecision(2)
  2. Menu nhiều học sinh
    • Dùng for lặp nhập 5 học sinh
    • In "Tên – Điểm – Xếp loại"
  3. Bỏ dấu
    • Nếu diemTB là số nguyên (vd 8.0), in là 8 thay vì 8.0

🟡 Trung bình (Intermediate)

  1. Tính tỉ lệ
    • Nhập số học sinh n
    • Nhập điểm từng học sinh
    • Đếm số học sinh mỗi loại
    • In Xuất sắc: x%Giỏi: y%,…
  2. Giai đoạn nâng cao
    • Cho thêm điều kiện “Khen thưởng đặc biệt” khi điểm ≥9.5
    • In thông báo riêng cho trường hợp này
  3. Lưu kết quả
    • Lưu tên và xếp loại vào mảng struct
    • Hiển thị danh sách cuối cùng

🔴 Nâng cao (Advanced)

  1. Phân loại kết hợp nhiều môn
    • Nhập điểm Toán, Văn, Anh
    • Tính TB = (Toán + Văn + Anh) / 3
    • Phân loại theo TB
    • Với TB ≥8.5 và mỗi môn ≥7.0, in “Xuất sắc toàn diện”
  2. Menu chọn quy tắc
    • Quy tắc A như trên
    • Quy tắc B:
      • Xuất sắc: ≥9.0 và không môn nào <8.0
      • Giỏi xuất sắc: TB ≥8.0 và không môn nào <7.0
  3. Đọc file điểm
    • Input file diem.txt chứa Tên1 8.5 mỗi dòng
    • Phân loại và ghi file ketqua.txt

💡 MẸO VÀ THỦ THUẬT

  • Dùng || kết hợp điều kiện validation
  • Viết else if từ điều kiện hẹp (Xuất sắc) đến rộng (Yếu)
  • Comment ngắn gọn trước mỗi nhánh
  • Tách hàm khi logic lặp lại (vd: string phanLoai(double))
string phanLoai(double d) {
    if (d >= 9.0) return "Xuất sắc";
    else if (d >= 8.0) return "Giỏi";
    //…
}

👨‍💻 Tổng kết

Phân loại học lực theo điểm trung bình là bài tập thiết thực giúp rèn tư duy phân nhánh, validation và hiển thị kết quả chuyên nghiệp. Thành thạo if-else là nền tảng để giải quyết mọi yêu cầu điều kiện phức tạp hơn trong dự án thực tế!

ThíchĐã Thích0
Chia Sẻ

C++ Bài 26: [Bài Tập] Phân loại học lực theo điểm trung bình

Hướng dẫn chi tiết cách phân loại học lực theo điểm trung bình trong C++ với cú pháp if-else, ví dụ minh họa, code mẫu rõ ràng và 20+ bài tập thực hành phân cấp từ cơ bản đến nâng cao.


Bạn muốn chia sẻ bài viết này:

# Bài Viết Liên Quan

  • Bai 27 bai tap tim so lon nhat trong 3 so cuoc chien so sanh

    C++ Bài 27: [Bài Tập] Tìm số lớn nhất trong 3 số – cuộc chiến so sánh!

    Hướng dẫn tìm số lớn nhất trong 3 số bằng C++: thuật toán so sánh đơn giản với if-else, ví dụ minh họa chi tiết, code mẫu và 20+ bài tập thực hành từ cơ bản đến nâng cao.

    08/10/2025
  • Bai 25 dieu kien long nhau – if trong if kham pha nguc sau

    C++ Bài 25: Điều kiện lồng nhau – if trong if, khám phá ngục sâu!

    Hướng dẫn câu lệnh điều kiện lồng nhau trong C++: cách viết “if…else” trong “if…else”, ví dụ minh họa thực tế và 20+ bài tập thực hành từ cơ bản đến nâng cao, giúp nắm vững logic nhiều tầng.

    15/10/2025
  • Bai 24 if else – neu… thi… khong thi…

    C++ Bài 24: if-else – nếu… thì… không thì…!

    Học câu lệnh if-else trong C++ dễ hiểu: cú pháp “nếu… thì… không thì…”, ví dụ thực tế và 20+ bài tập thực hành từ cơ bản đến nâng cao.

    08/10/2025
  • Bai 23 if neu thi dieu kien don

    C++ Bài 23: if – nếu… thì… (điều kiện đơn)

    Bài học về câu lệnh if đơn giản trong C++: cách dùng if để kiểm tra điều kiện, thực hiện lệnh khi điều kiện đúng. Hướng dẫn chi tiết với ví dụ dễ hiểu, bài tập từ cơ bản đến nâng cao.

    08/10/2025
  • Bai 22 du an mini may tinh khoa hoc mini sieu calculator

    C++ Bài 22: [Dự Án Mini] Máy tính khoa học mini – siêu calculator!

    Dự án mini máy tính khoa học bằng C++ dễ hiểu: tổng hợp toán tử, if-else, input validation, menu lựa chọn. Code hoàn chỉnh với giao diện đẹp, xử lý lỗi và 20+ chức năng từ cơ bản đến nâng cao.

    08/10/2025
  • Bai 21 bai tap kiem tra so chan le tham tu so hoc

    C++ Bài 21: [Bài Tập] Kiểm tra số chẵn lẻ – thám tử số học!

    Bài tập kiểm tra số chẵn lẻ bằng C++ dễ hiểu: sử dụng toán tử % (chia lấy dư), câu lệnh if-else, input validation. Code hoàn chỉnh với 20+ bài tập thực hành từ cơ bản đến nâng cao.

    08/10/2025
  • Bai 20 bai tap giai phuong trinh bac nhat tham tu toan hoc

    C++ Bài 20: [Bài Tập] Giải phương trình bậc nhất – thám tử toán học!

    Bài tập giải phương trình bậc nhất ax + b = 0 bằng C++ dễ hiểu. Hướng dẫn từng bước, xử lý trường hợp đặc biệt, code hoàn chỉnh với 20+ bài tập thực hành từ cơ bản đến nâng cao.

    08/10/2025
  • Bai 19 do uu tien toan tu nhan chia truoc cong tru sau

    C++ Bài 19: Độ ưu tiên toán tử – nhân chia trước, cộng trừ sau!

    Học độ ưu tiên toán tử trong C++ dễ hiểu: thứ tự tính toán (), *, /, %, +, -, ==, !=, &&, ||. Hướng dẫn chi tiết với bảng ưu tiên, ví dụ thực tế và 20+ bài tập thực hành từ cơ bản đến nâng cao.

    08/10/2025
  • Bai 18 toan tu logic and or not bo nao c

    C++ Bài 18: Toán tử logic – and, or, not – bộ não C++!

    Học toán tử logic trong C++ dễ hiểu: && (AND), || (OR), ! (NOT) để kết hợp điều kiện phức tạp. Hướng dẫn chi tiết với bảng chân trị, ví dụ thực tế và 20+ bài tập thực hành từ cơ bản đến nâng cao.

    08/10/2025
  • Bai 17 toan tu so sanh ai lon hon ai

    C++ Bài 17: Toán Tử So Sánh – ai lớn hơn ai?

    Học toán tử so sánh trong C++ dễ hiểu: ==, !=, , = để so sánh số và chuỗi. Hướng dẫn chi tiết với ví dụ thực tế, tránh lỗi thường gặp và 20+ bài tập thực hành từ cơ bản đến nâng cao.

    03/10/2025
  • Bai 16 toan tu gan dua gia tri vao bien nhu bo do vao hop

    C++ Bài 16: Toán tử gán – đưa giá trị vào biến như bỏ đồ vào hộp!

    Học toán tử gán trong C++ dễ hiểu: dấu = gán cơ bản, +=, -=, *=, /= gán kết hợp, ++ và — tăng giảm. Hướng dẫn chi tiết với ví dụ thực tế và 20+ bài tập thực hành từ cơ bản đến nâng cao.

    01/10/2025
  • Bai 15 toan tu so hoc cong tru nhan chia nhu toan lop 1

    C++ Bài 15: Toán tử số học – cộng trừ nhân chia như toán lớp 1!

    Học toán tử số học trong C++ dễ hiểu: cộng +, trừ -, nhân *, chia /, chia lấy dư % và lũy thừa. Hướng dẫn chi tiết với ví dụ thực tế, thứ tự ưu tiên và 20+ bài tập thực hành từ cơ bản đến nâng cao.

    01/10/2025
0 0 votes
Đánh Giá Bài Viết
Subscribe
Notify of
guest
0 Bình Luận
Oldest
Newest Most Voted
Inline Feedbacks
Xem tất cả bình luận
Top Views
  • Board Mo Rong Microbit V2 Tuong Thich Module Amp Sensor 3 3v 5v 01
    26/12/2024
  • Make Code
    24/12/2024
  • Tu Tao May Dem Buoc Chan Cho Minh
    06/01/2025
  • Module Led Rgb 3 Mau 4 Chan Hw 479 01
    26/12/2024
  • Micro:bit V2 – Máy Tính Bỏ Túi Cho Giáo Dục STEM
    06/01/2025
  • Bai 01 chao mung den voi c tu scratch den sieu ngon ngu 01
    26/09/2025
  • Bai 02 cai dat moi truong online code ngay khong can cai dat 01
    27/09/2025
  • Bai 04 cau truc chuong trinh c nhu mot bai van co dau co cuoi 01
    27/09/2025
  • Bai 05 bien va kieu du lieu hop chua thong tin than ky 01
    27/09/2025
  • Bai 06 cout dua thong tin ra man hinh nhu phep mau 01
    28/09/2025
Top Love
  • Tu Tao May Dem Buoc Chan Cho Minh
    06/01/2025
  • Micro:bit V2 – Máy Tính Bỏ Túi Cho Giáo Dục STEM
    06/01/2025
  • Module Led Rgb 3 Mau 4 Chan Hw 479 01
    26/12/2024
  • Make Code
    24/12/2024
  • Board Mo Rong Microbit V2 Tuong Thich Module Amp Sensor 3 3v 5v 01
    26/12/2024
  • Bai tap kiem tra so nguyen to trong khoang tim kho bau so hoc
    02/10/2025