
Câu lệnh switch case trong C++
Bài tập
Cho 2 biến kiểu số nguyên a, b
và 1 biến kiểu ký tự c
. Cả 3 biến này đều được nhập từ bàn phím. Biết biến c
là 1 trong 4 ký tự '+'
, '-'
, '*'
hoặc '/'
. Bạn hãy viết chương trình hiển thị giá trị của biểu thức khi áp dụng phép toán c
lên a
và b
. Ví dụ nếu bạn nhập a = 7, c = '+', b = 9
như bên dưới:
7 + 9
Thì màn hình sẽ hiển thị ra:
16
Lý thuyết
Bài này bạn hoàn toàn có thể làm bằng mệnh đề if như đã học nhưng cách tốt hơn là sử dụng lệnh switch case.
Cấu trúc của lệnh switch case:
switch (x) {
case giá_trị_1:
// Nếu x có giá trị bằng giá_trị_1 thì đoạn code trong khối lệnh này sẽ được thực thi
break;
case giá_trị_2:
// Nếu x có giá trị bằng giá_trị_2 thì đoạn code trong khối lệnh này sẽ được thực thi
break;
case giá_trị_3:
// Nếu x có giá trị bằng giá_trị_3 thì đoạn code trong khối lệnh này sẽ được thực thi
break;
...
case giá_trị_n:
// Nếu x có giá trị bằng giá_trị_n thì đoạn code trong khối lệnh này sẽ được thực thi
break;
default:
/*
Nếu x không bằng giá trị nào trong các giá trị trên
thì code trong khối lệnh này sẽ được thực thi
*/
break;
}
Biến hoặc biểu thức bên trong lệnh switch phải là một số nguyên và giá trị trong các lệnh case phải là một hằng số. Ví dụ về chương trình nhập vào một số từ 1 tới 7 và hiển thị ngày trong tuần tương ứng với số đó:
#include<iostream>
using namespace std;
int main() {
int n;
cin >> n;
switch (n) {
case 1:
cout << "Monday";
break;
case 2:
cout << "Tuesday";
break;
case 3:
cout << "Wednesday";
break;
case 4:
cout << "Thursday";
break;
case 5:
cout << "Friday";
break;
case 6:
cout << "Saturday";
break;
case 7:
cout << "Sunday";
break;
default:
cout << "Invalid input! Please enter week number between 1-7";
}
return 0;
}
Lưu ý: nếu trong lệnh case
không có break
thì chương trình sẽ tiếp tục thực thi các lệnh trong các case
tiếp theo cho tới khi gặp lệnh break
. Ví dụ về chương trình nhập vào tháng và hiển thị ra số ngày trong tháng đó (không tính năm nhuận):
#include <iostream>
using namespace std;
int main() {
int month, day;
cin >> month;
switch (month) {
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
{
day = 31;
break;
}
case 4:
case 6:
case 9:
case 11:
{
day = 30;
break;
}
default: {
day = 28;
}
}
cout << day;
return 0;
}
Đọc tới đây bạn đã có thể làm được bài này bằng câu lệnh switch case, hãy quay lại phần bài tập và làm thử.
Hướng dẫn
Code mẫu:
#include<iostream>
using namespace std;
int main() {
int a, b;
char c;
cin >> a >> c >> b;
switch (c) {
case '+':
cout << a + b;
break;
case '-':
cout << a - b;
break;
case '*':
cout << a * b;
break;
case '/':
cout << a / b;
break;
}
return 0;
}
Post Comment