- Định nghĩa: Đây là lệnh để lựa chọn giữa các trường hợp tương tự
If-else nhưng khác ở chỗ lệnh switch chỉ chấp nhận biểu thức hằng.
- Cấu trúc:
switch(biểu thức)
{
case <hằng 1>:
các lệnh;
break;
case <hằng 2>:
các lệnh;
break;
case <hằng n>:
các lệnh;
break;
default:
các lệnh;
}
- Ví dụ: Nhập vào số và in ra thứ tương tự với số đó.
int thu;
cout<<"Nhap vao thu: ";
cin>>thu;
switch(thu)
{
case 2:
cout<<"Thu hai";
break;
case 3:
cout<<"Thu ba";
break;
case 4:
cout<<"Thu tu";
break;
case 5:
cout<<"Thu nam";
break;
case 6:
cout<<"Thu sau";
break;
case 7:
cout<<"Thu bay";
break;
case 8:
cout<<"Chu nhat";
break;
default:
cout<<"Thu ban nhap khong hop le!";
}
Chú ý:
- Các trường hợp ( case ) của switch chỉ chấp nhận hằng số. Nếu viết
như sau là sai:
switch(x)
{
case x<0:
cout<<"So am";
break;
case x>0:
cout<<"So duong";
break;
}
- Lệnh break; ở sau mỗi case giúp cho chương trình thoát khỏi switch mà
không tiếp tục chạy các case ở dưới. - Trường hợp nhiều giá trị cùng chạy một khối lệnh thì làm như sau:
Ví dụ: Nhập tháng và cho biết tháng đó có bao nhiêu ngày.
int thang;
cout<<"Nhap vao thang: ";
cin>>thang;
switch(thang)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
cout<<"31 ngay";
break;
case 2:
cout<<"28 hoac 29 ngay";
break;
case 4:
case 6:
case 9:
case 11:
cout<<"30 ngay";
break;
}