صفحه اصلی / دوره‌های آموزشی / آموزش سی پلاس پلاس (++c) / دستورات کنترلی If ، else-if و switch-case در زبان ++C(بخش اول)

دستورات کنترلی If ، else-if و switch-case در زبان ++C(بخش اول)

دستورات کنترلی If ، else-if و switch-case در زبان ++C
براي خريد اين درس نياز است وارد سايت شويد. در صورت نداشتن حساب کاربري عضو شويد.
رایگان

جلسات دوره


                    
مهدی عباسی
مدرس:

مهدی عباسی

18 سال سابقه برنامه‌نویسی و تدریس برنامه‌نویسی
کسب مقام‌های اول و دوم کشوری در مسابقات برنامه‌نویسی

مهدی عباسی هستم، مسلط به حداقل ۲۰ زبان مطرح برنامه نویسی به صورت پیشرفته، مدیر عامل شرکت آریا نرم افزار و بنیانگذار آکادمی درسمن، مسلط به تدریس دروس تخصصی کاردانی و کارشناسی کامپیوتر، پایگاه داده ها، برنامه نویسی پیشرفته، مبانی برنامه نویسی، مباحث ویژه طراحی وب و .... مشاهده رزومه

آموزش دستورات کنترلی else-if ،if و switch-case در زبان ++C:


در این جلسه، می خواهیم دستورات کنترلی else-if، if و switch-case در زبان ++C، که یک مبحث بسیار کاربردی در زبان های برنامه نویسی می باشد را بررسی کنیم. در جلسه قبل یاد گرفتیم که چگونه یک برنامه ایجاد کنیم، در برنامه داده هایی از کاربر دریافت کنیم و اطلاعات را در خروجی چاپ کنیم. در این آموزش یاد می گیریم چگونه خطوطی از یک برنامه اجرا نشوند و یا چندین بار اجرا شوند.


دستورات کنترلی در ++C:

  • دستورات if و else-if در زبان ++C
  • دستور switch-case در زبان ++C

 

شکل کلی دستور if:

if (شرط)
}

دستورات برنامه     

{


 

مثال: در این برنامه یک عدد دورقمی از کاربر دریافت می کنیم و مجموع ارقام آن را در خروجی چاپ می کند. با استفاده از دستور if برنامه را کنترل می کنیم که کاربر عدد دو رقمی وارد کند.

int  num , a , b , sum;
cout<<”enter number :”;
cin>>num;
if ( 9 < num    &&   num < 100 )
  {
       a=num % 10;
       b=num / 10;
       sum= a +b ;
       cout<< “Sum is :”<<sum;
}  

  

 
خروجی:

خروجی کد


else:
با استفاده از دستور else، زمانی که شرط if درست نباشد می توانیم دستورات دیگری را اجرا کنیم. در مثال بالا اگر کاربر عدد سه رقمی وارد کند دیگر شرط درست نمی باشد و دستورات آن اجرا نمی شود، اما با دستور else می توانیم به کاربر یک پیغام خطا بدهیم. else به معنای در غیر این صورت است.

 

if (شرط)
}

دستورات برنامه     
{
else
  {
       دستورات برنامه      
   }

 


مثال: مثال قبل با دستور else، اگر شرط درست نباشد یعنی کاربر عدد دو رقمی وارد نکرده باشد، دستورات if اجرا نمی شود و دستورات قسمت  else اجرا می شوند و پیغام Error را در خروجی چاپ می کند.

int  num , a , b , sum;
cout<<”Enter number :”;
cin>>num;
if ( 9 < num    &&   num < 100 )
  {
       a=num % 10;
       b=num / 10;
       sum= a +b ;
       cout<< “sum is :”<<sum;
}     

 else
{
   Cout<< ”Error”;
}

 


مثال: در این مثال دو عدد از کاربر دریافت می کنیم و عملیات جمع، تفریق، ضرب و تقسیم را انجام می دهیم و در خروجی چاپ می کنیم.


نکته 1: متغیری که حاصل تقسیم در آن قرار می گیرد و می خواهیم با دقت اعشاری حساب کند، آن را از نوع داده float یا double تعریف می کنیم.
نکته 2: زمانی که دو عدد صحیح را تقسیم می کنیم، جواب حتما یک عدد صحیح می باشد، حتی اگر متغیری که جواب را در آن قرار می دهیم از نوع اعشاری باشد. برای اینکه حاصل تقسیم دقیق باشد صورت یا مخرج و یا هر دو باید از نوع اعشاری باشند.
در این مثال متغیر num1 از نوع عدد صحیح (int) می باشد برای اینکه نتیجه تقسیم یک عدد دقیق باشد، متغیر num1 که صورت تقسیم است را به صورت لحظه ایی نوع آن را به float تغییر می دهیم، به این صورت div= (float); مثل num1 / num 2 نوع داده float را قبل از متغیر قرار می دهیم.

نکته 3: در ریاضی نمی توانیم عددی را بر 0 تقسیم کنیم. در این مثال با دستور if شرطی قرار می دهیم که اگر مخرج 0 نبود، تقسیم را انجام دهد در غیر این صورت پیغام Error را که در قسمت else قرار داده ایم در خروجی چاپ می شود.

 

int num1,num2,sum,sub,mul;
float div;
cout << “enter number :”;
cin>> num1;
cout<< “enter number :”;
cin>>num2;

sum= num1 + num 2;
sub= num1 - num 2;
mul= num1 * num 2;
cout<<”Sum is :”<<sum<<endl;
cout<<”Sub is :”<<sub<<endl;
cout<<”Mul is :”<<sum<<endl;
if (num2 != 0)
  {
       div= (float) num1 / num 2;
       cout<<”Div is :”<<div<<endl;   
}        
else   
        {
            Cout<<”Error…”
        }
     

 

خروجی:

 

خروجی1

 

خروجی 2
 

 

شکل کلی دستور else-if:
اگر در برنامه بخواهیم در شرایط مختلف دستورات خاصی را اجرا کنیم از دستور else-if به صورت زیر استفاده می کنیم:

 

if (شرط1 )
}

دستورات برنامه     
{
else  if (شرط2)
}

دستورات برنامه     
{
 else  if (شرط3)
  {
       دستورات برنامه      
   }
....   
else
  {
       دستورات برنامه      
   }


 
 

مثال: در این مثال می خواهیم یک عدد را به عنوان معدل از کاربر دریافت کنیم، اگر عدد بین 0 تا 11  باشد zaif را در خروجی چاپ کند و اگر عدد بین 12تا  15 باشد مقدار motavaset  و اگر بین 16 تا 20 باشد Alie را چاپ کند و اگر عدد وارد شده خارج از محدوده این سه شرط باشد پیغام Error را چاپ کند.

float avg;
cout<<”Enter Average :”;
cin>>avg;
if ( 0<=avg && avg<12 )
{
    cout<<”Zaif”;
}
else if ( 12<=avg && avg<16 )
{
    cout<<”Motavaset”;
}

else if ( 16<=avg && avg<20 )
{
    cout<<”Alie”;
}
else
{
    cout<<”Error”;
}

 

خروجی:
 

 

خروجی 1

خروجی 2

خروجی 3

خروجی 4
 

 

شکل کلی دستور switch-case:
در پرانتز جلوی switch نام متغیری را می نویسیم که بر اساس مقادیر آن قرار است دستوراتی اجرا شوند و براساس مقادیر این متغیر دستورات case ها را می نویسیم. اگر محتوای متغیر با مقادیر هریک از case ها برابر باشد دستورات مربوط به آن case اجرا می شوند و اگر با هیچ یک از caseها برابر نباشد دستورات قسمت default اجرا می شود. default مانند else در دستور if عمل می کند.


نکته 1: جلوی case ها نمی توان متغیر قرار داد و تنها باید از یک مقدار ثابت استفاده شود.
نکته 2: مقادیر case ها نباید باهم برابر باشند.
نکته 3: جلوی case ها نمی توان از چند مقدار استفاده کرد و اگر دریک برنامه نیاز باشد به ازای چند مقدار دستورات یکسانی اجرا شود به این صورت case ها را می نویسیم:

به عنوان مثال می خواهیم به ازای مقادیر 8، 2 و 4، No در خروجی چاپ شود.

case 8:
case 2:
case 4:
        cout<<”No”;
         breack;

 


break باعث شکسته شدن حلقه برنامه می شود. یعنی اگر دستورات مربوط به یک case اجرا شود برنامه تمام می شود و دستورات دیگر اجرا نمی شوند.

switch (نام متغیر)        
 }    
            case مقدار اول :
                                    دستورات برنامه
                                     break;
             case مقدار دوم :
                                    دستورات برنامه
                                      break;
              case مقدار سوم :
                                    دستورات برنامه
                                       break;
                 …..
                default :
                                    دستورات برنامه
    }

 

 

مثال: در این برنامه یک عدد از ورودی دریافت می کنیم، اگر عدد وارد شده برابر با هریک از مقادیر case ها باشد دستورات مربوط به آن اجرا می شود. مثلا اگر عدد وارد شده 3 باشد Darsman را در خروجی چاپ می کند.

int num;
cout<<” Enter number : ”;
cin>>num;
switch (num)
 {
        case 1 :
                     cout<<”Ali”;
                     break;
         case 5 :
                     cout<<”*****”;
                     break;
         case 3 :
                     cout<<”Darsman”;
                     break;
             case 20 :
                     cout<<”Yes”;
                     break;
             default :
                      cout<<”Error”;
  }


 

دوست درسمنی عزیز، امیدواریم از این آموزش رایگان لذت برده باشید. برای یادگیری این مبحث می توانید این درس را دانلود کنید و از فایل ها و ویدئو این بخش استفاده کنید. شما عزیزان می توانید سوالات خود را در بخش انجمن پرسش و پاسخ مطرح کنید و همچنین منتظر انتقادات و پیشنهادات مفید شما در بخش نظرات هستیم تا ما را در کیفیت بهتر آموزش هایمان یاری کنید.
 

با امید موفقیت و شادی برای شما دوست درسمنی عزیزsmiley

انجمن برنامه نویسان ++C

نظرات دانشجویان

کاربر درسمن
مهشید

خیلی ممنون خیلی عالی توضیح داده شده است واقعا ممنونم که اینقدر ساده و واضح توضیح دادید خدا قوت موفق باشید

پشتیبانی 1
پشتیبانی 1

ممنون از شما بابت همراهیتون.

کاربر درسمن
محدثه

سلام وقت بخیر چرا ویدیوها قابل پخش نیس

پشتیبانی 1
پشتیبانی 1

سلام محدثه عزیز وقتتون بخیر، ممنون از اطلاع رسانیتون به زودی این قابلیت نیز به این درس ها اضافه خواهیم کرد.

کاربر درسمن
معصومه

سلام میشه این متن های پایین رو توضیح در مورد درس هستن جوری بزارین که قابل دانلود باشه و به عنوان جزوه استفاده کنیم ؟

پشتیبانی 1
پشتیبانی 1

سلام وقتتون بخیر، بله ممنون از پیشنهادی که دادید، حتما همین کار را خواهیم کرد در آینده نزدیک.

نمایش بیشتر

نظر شما در تصمیم دیگران اثرگذار است.

لطفا برای همراهان درسمن و بهتر شدن دوره نظر خود را بنویسید.

برای ارسال نظر نیاز است وارد سایت شوید. در صورت نداشتن حساب کاربری عضو شوید.
ثبت نام

350