×

Sử dụng cấu trúc switch để lựa chọn điều kiện trong C++

Trong lập trình C++, cấu trúc switch là một công cụ mạnh mẽ để xử lý các điều kiện điều khiển dựa trên giá trị của một biến đơn lẻ. Thay vì sử dụng một chuỗi các câu lệnh if-else khi bạn cần kiểm tra nhiều giá trị khác nhau của một biến, bạn có thể sử dụng cấu trúc này để làm cho mã nguồn của bạn trở nên gọn gàng và dễ đọc hơn.

Cấu trúc cơ bản của switch

Cấu trúc cơ bản của switch trong C++ như sau:

switch (biến) {
    case giá_trị_1:
        // Khối mã thực thi khi biến bằng giá_trị_1
        break;
    case giá_trị_2:
        // Khối mã thực thi khi biến bằng giá_trị_2
        break;
    ...
    default:
        // Khối mã thực thi khi biến không bằng bất kỳ giá trị nào ở trên
}

Giải thích chi tiết

  • biến: Đây là biến mà bạn muốn kiểm tra. Thông thường, biến là một biến nguyên (int) hoặc ký tự (char).
  • case giá_trị_1:: Từ khóa case theo sau bởi một giá trị cụ thể. Nếu giá trị của biến khớp với giá_trị_1, khối mã sau dấu : sẽ được thực thi.
  • break;: Rất quan trọng trong mỗi khối case để ngăn ngừa việc thực hiện tiếp các khối case khác. Nếu bạn quên break, chương trình sẽ tiếp tục thực hiện các khối case tiếp theo mà không cần kiểm tra điều kiện.
  • default:: Đây là khối mã sẽ được thực thi nếu không có giá trị nào của biến khớp với bất kỳ case nào ở trên.

Ví dụ:

#include <iostream>
using namespace std;

int main() {
    int ngày = 3;
    
    switch (ngày) {
        case 1:
            cout << "Thứ Hai" << endl;
            break;
        case 2:
            cout << "Thứ Ba" << endl;
            break;
        case 3:
            cout << "Thứ Tư" << endl;
            break;
        case 4:
            cout << "Thứ Năm" << endl;
            break;
        case 5:
            cout << "Thứ Sáu" << endl;
            break;
        case 6:
            cout << "Thứ Bảy" << endl;
            break;
        case 7:
            cout << "Chủ Nhật" << endl;
            break;
        default:
            cout << "Giá trị không hợp lệ" << endl;
    }

    return 0;
}

Trong ví dụ trên, giá trị của biến ngày là 3. Chương trình sẽ so sánh giá trị này với từng case trong cấu trúc switch. Khi nó tìm thấy case 3, nó sẽ thực hiện khối mã trong case đó và in ra "Thứ Tư". Sau đó gặp câu lệnh break và thoát khỏi cấu trúc switch.

Những lưu ý khi sử dụng:

  1. Không sử dụng kiểu bool, float hoặc double: Cấu trúc switch chỉ hoạt động tốt với các kiểu dữ liệu nguyên như int, char. Bạn không thể sử dụng nó với kiểu boolean, số thực (float, double).

  2. Thiếu lệnh break: Nếu bạn quên đặt lệnh break, chương trình sẽ tiếp tục thực hiện các khối case tiếp theo mà không kiểm tra điều kiện, dẫn đến các hành vi không mong muốn.

  3. Khối default: Không bắt buộc phải có khối default, nhưng nên sử dụng nó để xử lý các trường hợp không khớp với bất kỳ case nào, giúp chương trình trở nên mạnh mẽ và dễ lỗi hơn.

Kết luận

Cấu trúc switch trong C++ giúp bạn xử lý nhiều điều kiện với cùng một biến một cách dễ dàng và rõ ràng hơn so với việc sử dụng nhiều lệnh if-else. Hãy áp dụng cấu trúc này một cách hợp lý để mã nguồn của bạn trở nên gọn gàng và dễ hiểu hơn.

Comments