عبارت شرطی switch در سی پلاس پلاس!
آخرین به روز رسانی در دوشنبه 06 مهر 1388 ساعت 13:54 نوشته شده توسط مدیر سایت دوشنبه 06 مهر 1388 ساعت 13:47
عبارت شرطی سوئیچ
یکی دیگر از عبارات شرطی، عبارت switch است که برای انتخاب یک گزینه از بین چندین گزینه مناسب است. ساختار دستور به صورت زیر است:switch (literal)
{
case item1:
do something;
break;
case item2:
do something else;
break;
/* ... other cases go here ... */
default:
handle other inputs;
break;
}نحوه عملکرد به این ترتیب است که اگر مقدار literal برابر item1 بود، عبارت داخل بدنه ی item1 اجرا می-شود (do something)، اگر برابر item2 بود عبارت دخل بدنه آن اجرا می شود و به همین ترتیب ادامه می یابد. اگر هیچکدام از موارد لیست شده نبود، عبارت بدنه ی default اجرا خواهد شد.
به عنوان مثال فرض کنید بخواهیم اسم اعداد را به کاربر آموزش دهیم! به طوریکه بر اساس عددی که کاربر وارد می کند، اسم لاتین آن عدد را نمایش دهیم و اگر صفر وارد کرد از برنامه خارج شویم:
int _tmain(int argc, _TCHAR* argv[])
{
int i = 0;
while(true){
cout << endl << "Enter a number between 1 and 5 <0 to exit>: ";
cin >> i;
switch (i)
{
case 0:
return 0;
case 1:
cout << "You entered number ONE!\n\n";
break;
case 2:
cout << "You entered number TWO!\n\n";
break;
case 3:
cout << "You entered number THREE!\n\n";
//consider that here we do not used break! What will happen?
case 4:
cout << "You entered number FOUR!\n\n";
break;
case 5:
cout << "You entered number FIVE!\n\n";
break;
default:
cout << "Sorry, but we cant count more than FIVE and less than\
ZERO!!\n";
break;
}
}
return 0;
}در این برنامه از حلقه while هم استفاده شده است که بعدا توضیح داده خواهد شد. خروجی برنامه به ازای اعداد مختلف در شکل زیر نمایش داده شده است:

