با سلام.
من کد زیر را امتحان کردم:
کد:
#include <iostream.h>
int main(void)
{
int number1;
cout<<"enter a number"<<endl;
cin>>number1;
switch (number1)
{
case 1:
cout<<"one";
break;
case 2:
cout<<"two";
break;
case 3:
cout<<"three";
break;
default:
cout<<"no_one";
}
return 0;
}
درست بود. یعنی وقتی 1 می نوشتی one چاپ می شود و با نوشتن 2 کلمه two چاپ میشه و با نوشتن 3 عبارت three چاپ می شود و با نوشتن 4 کلمه no_one چاپ میشه. یعنی قسمت دیفالت وقتی اجرا می شود که شرط های case ها برقرار نباشد.
می توان برنامه ای به این شکل نوشت:
کد:
#include <iostream.h>
int main(void)
{
int number1;
cout<<"enter a number"<<endl;
cin>>number1;
switch (number1)
{
case 1:
cout<<"one";
break;
case 2:
case 3:
cout<<"two and three";
break;
default:
cout<<"no_one";
}
return 0;
}
در این حال برای اعداد 2 و 3 عبارت two and three چاپ میشه.
به عبارتی دستور break مثل دیوار مانع رفتن کنترل به قسمت بعدی می شود.
من هم تا آنجایی که در آموزشها یادمه همین بوده یعنی دیفالت وقتی اجرا میشه که بقیه شرطها برقرار نباشند.