استخدام دالة if الشرطية في لغة C++

درسنا اليوم هو دالة الشرط (if) قبل أن ابداء بدرس دالة الشرط أحب أن اضع هذا الجدول الذي يحوي على ادوات المقارنة:

ادات الربط فائدتها
== يساوي
!= لا يساوي
< اكبر من
> اصغر من
=< اكبر من او يساوي
=> اصغر من او يساوي

دالة الشرط: if 

وهي من أهم الدوال المستخدمة في اللغة وطريقتها أن يتحقق البرنامج من تحقق الشرط فإذا تحقق الشرط عمل بما بعد الشرط.
 فكأنك تقول للمترجم (إذا تحقق الشرط فاعمل كذا ) ويكتب الكود بهذه الطريقة: 
If (statement);
طبعا (statement) هي جملة الشرط وبالمثال يتضح المقال:
#include<iostream>
using namespace std;
int main ()
{
int x,y;
cout<<"enter tow number : ";
cin>>x>>y;
if (x>y)
cout<<"the largest is : "<<x<<endl;
system("pause");
return 0;
}
طبعا هذا المثال سوف يقارن بين قيمة X و Y وإذا كان قيمة X أكبر من Y فسوف يخرج قيمة X أما لو كان العكس فسوف يخرج من البرنامج . 
ولكن نحن لانريد أن يخرج من البرنامج نريده مثلا أن يحسب أكبر قيمة فما العمل؟ أقول هناك دالة أخرى وهي عكس دالة if وهي دالة(else) وعملها عكس عمل (if) فكانك تقول للمترجم (إذا لم يتحقق الشرط فاعمل كذا) ويكتب الكود بهذه الطريقة 
else
وتستطيع أن تضيف ل (else)جملة شرط فيصبح الكود كذا:
else if (statemint)
وانضر إلى هذا المثال وهو مثل المثال السابق ولكن قمنا بإضافة دالة (6/56) فأصبح البرنامج يطبع أكبر قيمة

#include<iostream>
using namespace std;
int main ()
{
int x,y;
cout<<"enter tow number : ";
cin>>x>>y;
if (x>y)
cout<<"the largest is"<<x<<endl;
else
cout<<"the largest is :"<<y<<endl;
system("pause");
return 0;
}
الأن البرنامج سيقارن بين X و Y وسيطبع أكبر قيمة. طيب لو أردت من البرنامج أن يقارن بين ثلاثة أرقام ثم يقوم بإخراج أوسط عدد فكيف تعمل ذالك؟ في الحقيقة هناك أدوات تستعمل لمثل هذه الأشياء وهي أدوات الربط وهي كالتالي:

ادات الربط فائدتها
And && ومعناها و
Or || ومعناها أو

استخدام دالة if الشرطية في لغة C++

الأن البرنامج سيقارن بين X و Y وسيطبع أكبر قيمة. طيب لو أردت من البرنامج أن يقارن بين ثلاثة أرقام ثم يقوم بإخراج أوسط عدد فكيف تعمل ذالك؟ في الحقيقة هناك أدوات تستعمل لمثل هذه الأشياء وهي أدوات الربط وهي كالتالي:

#include<iostream>
using namespace std;
int main ()
{
int x,y,z;
cout<<"enter 3 number : ";
cin>>x>>y>>z;
if ((x>y&&x<z)||(x<y&&x>z))
cout<<"the midel is : "<<x<<endl;
else if((y<x&&y>z)||(y>x&&y<z))
cout<<"the midel is :"<<y<<endl;
else
cout<<"the midel is :"<<z<<endl;
system("pause");
return 0;
}
فكما ترون في الدالة الأولى للشرط قارنت بين X و Y و Z وطلبت من البرنامج أن يتحقق من X هل هو أكبر من Y وأصغر من Z أو أصغر من Y وأكبر من. Z فإذا تحقق هذا الشرطين طبع قيمة X  
أما إذا لم يتحقق الشرط فسوف ينتقل لشرط الثاني والشرط الثاني نفس الأول ولكن الفرق أنه سيطبع قيمة. Y
أما إذا لم يتحقق أي من الشرطين فسوف يقوم بطباعة قيمة Z 
وهذا مثال اخر على ادات الربط or وهو برنامج يطلب من المستخدم إدخال درجته ثم يطبع له عبارة "pass" إذا كانت درجته أكبر من 60 أما إذا كانت أصغر من 60 فسوف يطبع عبارة "fail"أي رااسب ،وإذا أدخل المستخدم درجة أكبر من 100 أو أصغر من الصفر فسوف يطبع عبار ة " wrong in put " وتعني (مدخل خاطىء).
#include<iostream>
using namespace std;
int main ()
{//program of dgree
int mark;
cout<<"enter mark : ";
cin>>mark;
if (mark<0||mark>100)
cout<<"wrong number"<<endl;
else
if (mark>60)
cout<<"pass"<<endl;
else
cout<<"fial"<<endl;
system("pause");
return 0;
}
الان تعلمت كيفية استخدام  دالة if الشرطية في لغة C++  الدرس التالي سيكون حول الحلقات التكرارية 
إقرأ أيضا