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 switch
lệ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 switch
câ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 case
nhã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 aftercase 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..if
cái thang. Tuy nhiên, cú pháp của switch
câ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...case
câ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
- Đầ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
char
biến có tên oper . - 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 .
- Sau đó,
switch
câ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.
- If the user enters
Lưu ý rằng break
câu lệnh được sử dụng bên trong mỗi case
khối. Điều này kết thúc switch
tuyên bố.
Nếu break
câ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 case
sẽ được thực thi.