تبلیغات
برنامه نویسی C++ - آموزش و سورس برنامه ی سی پلاس پلاس - مطالب دستورات شرطی
برترین پیشنهاد

برنامه نویسی C++ - آموزش و سورس برنامه ی سی پلاس پلاس

بزرگترین پایگاه آموزش سی پلاس پلاس و سورس تمام برنامه های آن

عملگر شرطی (عملگر سه تایی Ternary Operator):

در C++ میتوان به واسطه ی عملگر ? یک ساختار تصمیم گیری ساده ولی پر کاربرد را پیاده سازی کرد که به این واسطه در کد نویسی صرفه جویی میشود. شکل کلی به کار گیری این عملگر به صورت زیر است:

;عبارت محاسباتی 2 : عبارت محاسباتی 1 ? (عبارت شرطی) = متغیر

عملکرد این عملگر به این صورت است که اگر عبارت شرطی دارای ارزش درستی بود، آنگاه مقدار عبارت محاسباتی 1 ارزیابی شده و در متغیر سمت چپ دستور انتساب قرار می گیرد، و الا اگر عبارت شرطی دارای ارزش نادرستی باشد مقدار عبارت محاسباتی 2 ارزیابی شده و در متغیر سمت چپ دستور انتساب قرار میگیرد.

به عبارت دیگر عملگر سه تایی معادل کد زیر عمل میکند:
(عبارت شرطی)if
;عبارت محاسباتی 1 = متغیر    
else
;عبارت محاسباتی 2 = متغیر    


در زمانی که شرط ما مقدار معینی دارد و هم چنین تعداد شروط و حالات زیاد باشد، به جای استفاده از if های تو در تو، از switch استفاده میشود.

حالت کلی این دستور به شکل زیر است:

switch(A)
{
     case B1:C1;break;
     case B2:C2;break;
.
.
.
     default:D;
}

//end

در اینجا A اسم متغیری است که یکی از شروط باید برایش صدق کند و B1 مقدار اول، B2 مقدار دوم و...
هم چنین در اینجا C1 دستور یا دستورات در صورت درستی B1 و C2 دستور یا دستورات در صورت درستی B2 و...
و D دستور یا دستورات در صورت نادرست بودن تمام حالات است.

نکته: default در switch مانند else در if عمل میکند.
نکته: استفاده از دستور default اختیاری است.

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


با استفاده از دستورات کنترلی که شامل حلقه ها و شرط ها میباشد، انعطاف پذیری برنامه بیشتر شده و در صورت نیاز بعضی دستورات اصلا اجرا نمیشوند (شرطها) و یا بعضی دیگر چندین بار تکرار میشوند.(حلقه ها)

دستور شرطی if:

if(A)
B;
else
C;

//end

در مثال بالا A شرط ما(مثلا x>10) و B دستور یا دستورات ما در صورت درست بودن شرط است و C نیز دستور یا دستورات ما در صورت غلط بودن شرط است.

نکته: توجه کنید که اگر از چند دستور استفاده میکنید، باید آنها را در {  } قرار دهید.

نکته:گذاشتن else اختیاری است!

مثال:
if(x>=0)
    cout<<"mosbat";
else
    cout<<"manfi";

//end

if های تو در تو:

اگر چند if پشت سر هم بیایند، مشخص کردن if مربوط به هر else کار دشواری میشود.

قاعده ی کلی: هر else مربوط به نردیکترین  if قبل از خود است که تاکنون برایش else تعریف نشده.