X

آموزش مقدماتی C++ | دستور switch

در شرایطی که یک دستور شرطی با “چندین else if” داشته باشیم و شرط ما مقایسه “یک متغیر” با مقادیر مختف باشد، از یک دستور شرطی جایگزین به نام switch استفاده می کنیم. مثلاً یک متغیر به نام level داریم که سطح یک مسابقه را مشخص می کند. می خواهیم کدی بنویسیم که اگر level برابر با easy بود، یک متن را چاپ کند، اگر برابر با medium بود، متنی دیگر، اگر برابر با hard بود، متنی دیگر و اگر غیر از این ها هم بود یک متن پیش فرض را چاپ کند. همانطور که می بینید در این مسئله یک متغیر به نام level داریم که قرار است با مقدار های مختلفی چک شود. یک راه حل خوب در این مواقع، استفاده از دستور switch به جای else if های پی در پی است.

switch(expression) {
  case x:
    // code  block
    break;
  case y:
    // code block
    break;
  default:
    // code block
}

دستور switch به این شکل کار می کند که:

  • متغیر مورد نظر جلوی دستور switch نوشته می شود (همان expression).
  • مقدار این عبارت با مقدار هر کدام از case ها مقایسه می شود.
  • اگر با هر کدام مطابقت داشت، بلوک کد مرتبط با آن اجرا می شود.
  • دستورات break و default اختیاری اند و در قسمت بعد توضیح داده می شود.

در مثال زیر، شماره ی روز هفته را به دستور switch می دهیم تا با مطابقت با case های مختلف، نام آن روز از هفته چاپ شود:

int day = 4;
switch (day) {
  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;
}
// Outputs "Thursday" (day 4)
پرسش و پاسخ این درس

برای ثبت پرسش ابتدا در سایت وارد شوید.

  • 1
  • 2