Cấu Trúc Rẽ Nhánh Switch Case Và Minh Họa Với C++ - Góc Học IT

Ngoài cấu cấu điều khiển rẻ nhánh là if else, còn có cấu trúc rẻ nhánh switch case. Cấu trúc switch case cho phép lựa chọn một trong nhiều khối lệnh để thực hiện tùy vào biểu thức được lựa chọn.

1. Cú pháp switch case

switch (expression) { case value-1: // code block 1 break; case value-2: // code block 2 break; . . . default: // default code block }

Lưu đồ xử lý của cấu trúc switch case

Switch case trong C++
Lưu đồ switch case trong C++

2. Quy tắc lệnh switch case

– Biểu thức (expression) switch có thể là một giá trị kiểu char, short, hoặc int,… và phải luôn nằm trong dấu ngoặc tròn.

– value-1, value-2,… phải có cùng kiểu dữ liệu với giá trị của biểu thức switch.

– Từ khóa break; là tùy chọn, nhưng nên được sử dụng cuối mỗi trường hợp để thoát khỏi phần còn lại của lệnh switch. Nếu không có lệnh break;, lệnh case tiếp theo sẽ được thực hiện.

– Trường hợp default là tùy chọn, được thực hiện khi không value nào đúng với biểu thức.

– Thứ tự của các value (kể cả default) là không quan trọng. Tuy nhiên, sắp xếp các value theo một trình tự logic và đặt trường hợp default cuối cùng.

3. Chương trình C++ minh họa switch case

Chương trình xuất ra màn hình số ngày trong tháng sử dụng switch case

#include <iostream> using namespace std; int main() { int month, year; cout<<"Input month:"; cin>>month; cout<<"Input year:"; cin>>year; switch (month) { case 1:cout<<"Month has 31 days!"; break; case 3:cout<<"Month has 31 days!"; break; case 5:cout<<"Month has 31 days!"; break; case 7:cout<<"Month has 31 days!"; break; case 8:cout<<"Month has 31 days!"; break; case 10:cout<<"Month has 31 days!"; break; case 12:cout<<"Month has 31 days!"; break; case 4:cout<<"Month has 30 days!"; break; case 6:cout<<"Month has 30 days!"; break; case 9:cout<<"Month has 30 days!"; break; case 11:cout<<"Month has 30 days!"; break; case 2: if ((year % 100 != 0 && year % 4 == 0) || (year % 400 == 0)) cout<<"Month has 29 days!"; else cout<<"Month has 28 days!"; break; default: cout<<"There is not this month!"; } system("pause"); }

Nên sử dụng break; linh hoạt, chương trình trên có thể viết gọn lại như sau:#include <iostream> using namespace std; int main() { int month, year; cout<<"Input month:"; cin>>month; cout<<"Input year:"; cin>>year; switch (month) { case 1: case 3: case 5: case 7: case 8: case 10: case 12:cout<<"Month has 31 days!"; break; case 4: case 6: case 9: case 11:cout<<"Month has 30 days!"; break; case 2: if ((year % 100 != 0 && year % 4 == 0) || (year % 400 == 0)) cout<<"Month has 29 days!"; else cout<<"Month has 28 days!"; break; default: cout<<"There is not this month!"; } system("pause"); }

Lưu ý: Đừng quên dùng lệnh break; hợp lý khi cần thiết.

  • Hàm str_word_count() trong PHP
  • Kiểm tra số nguyên tố (prime number) trong Java
  • Các chỉ định truy cập (access modifier) trong PHP
  • Kiểm tra dữ liệu đầu vào (user input) trong C++
  • Kiểm tra số chẵn lẻ trong C++
5/5 - (1 bình chọn)Bài trước và bài sau trong môn học<< Cấu trúc rẽ nhánh if else và minh họa với C++Cú pháp và cách sử dụng toán tử điều kiện trong C++ >>

Từ khóa » Cấu Trúc Lệnh Switch Case Trong C++