Câu lệnh switch..case trong C++

Trong hướng dẫn này, chúng ta sẽ tìm hiểu về câu lệnh switch và hoạt động của nó trong lập trình C++ với sự trợ giúp của một số ví dụ.

Câu switchlệnh cho phép chúng tôi thực thi một khối mã trong số nhiều lựa chọn thay thế.

Cú pháp của switchcâu lệnh trong C ++ là:

switch (expression)  {
    case constant1:
        // code to be executed if 
        // expression is equal to constant1;
        break;

    case constant2:
        // code to be executed if
        // expression is equal to constant2;
        break;
        .
        .
        .
    default:
        // code to be executed if
        // expression doesn't match any constant
}

Câu lệnh switch hoạt động như thế nào?

Giá trị expressionđược đánh giá một lần và được so sánh với các giá trị của mỗi casenhãn.

  • If there is a match, the corresponding code after the matching label is executed. For example, if the value of the variable is equal to constant2, the code after case constant2: is executed until the break statement is encountered.
  • If there is no match, the code after default: is executed.

Lưu ý : Chúng ta có thể làm điều tương tự với if...else..ifcái thang. Tuy nhiên, cú pháp của switchcâu lệnh gọn gàng hơn và dễ đọc và dễ viết hơn nhiều.

Lưu đồ của câu lệnh switch

Lưu đồ của C ++ switch … case statement

Ví dụ: Tạo Máy tính bằng cách sử dụng Câu lệnh chuyển đổi

// Program to build a simple calculator using switch Statement
#include <iostream>
using namespace std;

int main() {
    char oper;
    float num1, num2;
    cout << "Enter an operator (+, -, *, /): ";
    cin >> oper;
    cout << "Enter two numbers: " << endl;
    cin >> num1 >> num2;

    switch (oper) {
        case '+':
            cout << num1 << " + " << num2 << " = " << num1 + num2;
            break;
        case '-':
            cout << num1 << " - " << num2 << " = " << num1 - num2;
            break;
        case '*':
            cout << num1 << " * " << num2 << " = " << num1 * num2;
            break;
        case '/':
            cout << num1 << " / " << num2 << " = " << num1 / num2;
            break;
        default:
            // operator is doesn't match any case constant (+, -, *, /)
            cout << "Error! The operator is not correct";
            break;
    }

    return 0;
}

Đầu ra 1

Enter an operator (+, -, *, /): +
Enter two numbers: 
2.3
4.5
2.3 + 4.5 = 6.8

Đầu ra 2

Enter an operator (+, -, *, /): -
Enter two numbers: 
2.3
4.5
2.3 - 4.5 = -2.2

Đầu ra 3

Enter an operator (+, -, *, /): *
Enter two numbers: 
2.3
4.5
2.3 * 4.5 = 10.35

Đầu ra 4

Enter an operator (+, -, *, /): /
Enter two numbers: 
2.3
4.5
2.3 / 4.5 = 0.511111

Đầu ra 5

Enter an operator (+, -, *, /): ?
Enter two numbers: 
2.3
4.5
Error! The operator is not correct.

Trong chương trình trên, chúng ta đang sử dụng switch...casecâu lệnh để thực hiện các phép tính cộng, trừ, nhân và chia.

Chương trình này hoạt động như thế nào

  1. Đầu tiên chúng tôi nhắc người dùng nhập toán tử mong muốn. Đầu vào này sau đó được lưu trữ trong charbiến có tên oper .
  2. Sau đó, chúng tôi nhắc người dùng nhập hai số, được lưu trữ trong các biến float num1 và num2 .
  3. Sau đó, switchcâu lệnh được sử dụng để kiểm tra toán tử do người dùng nhập:
    • If the user enters +, addition is performed on the numbers.
    • If the user enters -, subtraction is performed on the numbers.
    • If the user enters *, multiplication is performed on the numbers.
    • If the user enters /, division is performed on the numbers.
    • If the user enters any other character, the default code is printed.

Lưu ý rằng breakcâu lệnh được sử dụng bên trong mỗi casekhối. Điều này kết thúc switchtuyên bố.

Nếu breakcâu lệnh không được sử dụng, tất cả các trường hợp sau khi câu lệnh đúng casesẽ được thực thi.









Gõ tìm kiếm nhanh...