Câu lệnh điều kiện trong C++



1. Mục tiêu

Trong thực tế, chương trình cần tự đưa ra quyết định tùy vào dữ liệu đầu vào. Câu lệnh điều kiện là công cụ để thực hiện điều đó.
Ví dụ: nếu người dùng nhập đúng mật khẩu thì đăng nhập, sai thì từ chối.


2. Câu lệnh if

Cú pháp:

if (điều_kiện) {
    // mã được thực thi nếu điều_kiện là true
}

Ví dụ:

int x = 10;
if (x > 0) {
    cout << "x la so duong";
}

Ghi chú:

  • điều_kiện phải là biểu thức logic (trả về true/false).
  • Có thể viết không dùng {} nếu chỉ có 1 dòng:
if (x > 0) cout << "Duong";

Nhưng nên luôn dùng {} để dễ đọc và tránh lỗi.


3. if - else: hai nhánh rẽ

Ví dụ:

int diem = 7;

if (diem >= 5) {
    cout << "Dat";
} else {
    cout << "Truot";
}
  • Nếu điều kiện đúng → chạy nhánh if
  • Nếu sai → chạy nhánh else

4. if - else if - else: nhiều nhánh điều kiện

Ví dụ:

int diem = 8;

if (diem < 5) {
    cout << "Yeu";
} else if (diem < 7) {
    cout << "Trung binh";
} else if (diem < 9) {
    cout << "Kha";
} else {
    cout << "Gioi";
}
  • Các điều kiện sẽ được kiểm tra từ trên xuống
  • Chỉ thực hiện khối đầu tiên có điều kiện đúng

5. Lồng nhiều if (Nested if)

Dùng khi cần kiểm tra nhiều lớp điều kiện:

int tuoi = 20;
bool coCMND = true;

if (tuoi >= 18) {
    if (coCMND) {
        cout << "Du dieu kien dang ky";
    } else {
        cout << "Can co CMND";
    }
} else {
    cout << "Chua du tuoi";
}

6. Toán tử ba ngôi ? :

Cú pháp viết gọn của if-else khi chỉ có 1 dòng:

(bieu_thuc) ? gia_tri1 : gia_tri2;

Ví dụ:

int a = 5, b = 10;
int max = (a > b) ? a : b;

Đọc là: nếu a > b đúng thì gán a, ngược lại gán b.


7. Câu lệnh switch

Dùng khi có nhiều nhánh dựa trên một giá trị duy nhất (thường là số nguyên hoặc ký tự).

Cú pháp:

switch (bien) {
    case gia_tri1:
        // mã
        break;
    case gia_tri2:
        // mã
        break;
    default:
        // khi không khớp cái nào
}

Ví dụ:

int luaChon;
cin >> luaChon;

switch (luaChon) {
    case 1:
        cout << "Them";
        break;
    case 2:
        cout << "Xoa";
        break;
    case 3:
        cout << "Sua";
        break;
    default:
        cout << "Khong hop le";
}

Ghi chú:

  • break là bắt buộc để tránh rơi vào các case sau.
  • default là tuỳ chọn, nhưng nên dùng để xử lý trường hợp còn lại.

8. So sánh if và switch

Tiêu chíif - elseswitch
Kiểu điều kiệnmọi biểu thức logicso sánh một biến với giá trị cụ thể
Kiểu dữ liệu hỗ trợnhiều (int, float, string, bool…)chỉ int, char, enum
Tính mở rộnglinh hoạtgiới hạn, nhưng gọn hơn trong vài trường hợp

9. Bài tập thực hành

Bài 1: Xếp loại học lực

Viết chương trình nhập điểm từ bàn phím và in ra xếp loại:

  • < 5: Yếu
  • 5 → 6.4: Trung bình
  • 6.5 → 7.9: Khá
  • 8 → 10: Giỏi

Bài 2: Tính tiền điện

Tùy theo số kWh:

  • < 50 → giá 1000 đ/kWh
  • 50–100 → giá 1200 đ/kWh
  • 100 → giá 1500 đ/kWh

Bài 3: Tháng → Mùa

Nhập số tháng (1–12), in ra mùa tương ứng:

  • 3–5: Xuân
  • 6–8: Hạ
  • 9–11: Thu
  • 12, 1, 2: Đông

10. Tổng kết

  • Câu lệnh điều kiện là công cụ ra quyết định trong chương trình
  • Dùng ifelseelse if để xử lý các logic phức tạp
  • Dùng switch cho các lựa chọn đơn giản theo giá trị cụ thể
  • Toán tử 3 ngôi giúp viết gọn điều kiện đơn giản

Bài tiếp theo: Vòng lặp trong C++ – giúp chương trình thực hiện hành động lặp lại có điều kiện.

Bạn muốn tạo prompt ảnh cho bài này không? Hay viết luôn bài 6?