C++وضع أكثر من شرط في الجملة if
بإمكانك أن تضع أكثر من شرط بداخل جملة الشرط باستخدام العامل &&
أو ||
.
العامل &&
يستخدم في حال كنت تريد تنفيذ كود معين إذا كان جواب جميع الشروط الموضوعة يساوي true
.
العامل ||
يستخدم في حال كنت تريد تنفيذ كود معين إذا كان جواب شرط واحد على الأقل يساوي true
.
المثال الأول
إذا كانت قيمة المتغير a
بين 0 و 20 إطبع الجملة: acceptable number
.
using namespace std; int main() { int a = 14; if( a >= 0 && a <=20 ) { cout << "acceptable number"; } return 0; }
سنحصل على النتيجة التالية عند التشغيل.
acceptable number
نلاحظ أنه قد تم تنفيذ أمر الطباعة لأن قيمة المتغير a
بين 0 و 20.
هنا سأل نفسه سؤالين.
السؤال الأول: هل قيمة المتغير a
أكبر أو تساوي 0؟
فكان جواب الشرط الأول true
.
السؤال الثاني: هل قيمة المتغير a
أصغر أو تساوي 20؟
فكان جواب الشرط الثاني أيضاً true
.
بما أن كلا الجوابين كانا true
قام بتنفيذ أمر الطباعة.
المثال الثاني
إذا كانت قيمة المتغير a
بين 0 و 20 إطبع الجملة: acceptable number
.
using namespace std; int main() { int a = 26; if( a >= 0 && a <=20 ) { cout << "acceptable number"; } return 0; }
سنحصل على النتيجة التالية عند التشغيل.
نلاحظ أنه لم يتم تنفيذ أمر الطباعة لأن قيمة المتغير a
ليست بين 0 و 20.
هنا سأل نفسه سؤالين.
السؤال الأول: هل قيمة المتغير a
أكبر أو تساوي 0؟
فكان جواب الشرط الأول true
.
السؤال الثاني: هل قيمة المتغير a
أصغر أو تساوي 20؟
فكان جواب الشرط الثاني false
.
بما أن واحداً من الجوابين لم يكن true
لم ينفذ دالة الطباعة.
المثال الثالث
إذا كانت قيمة المتغير a
تساوي 1 أو 2 أو 3 إطبع الجملة: you choose a valid number
.
using namespace std; int main() { int a = 2; if( a == 1 || a == 2 || a == 3 ) { cout << "'a' is a valid number"; } return 0; }
سنحصل على النتيجة التالية عند التشغيل.
'a' is a valid number
نلاحظ أنه قام بتنفيذ أمر الطباعة لأن قيمة المتغير a
تساوي 2.
هنا كان سيسأسل نفسه ثلاثة أسئلة لأنه يوجد ثلاث شروط, لكنه سأل نفسه سؤالين فقط.
السؤال الأول: هل قيمة المتغير a
تساوي 1؟
فكان جواب الشرط الأول false
فانتقل للشرط الذي يليه.
السؤال الثاني: هل قيمة المتغير a
تساوي 2؟
فكان جواب الشرط الثاني true
.
بما أن واحداً من الأجوبة كان true
نفذ مباشرةً أمر الطباعة و لم ينظر حتى للشرط الأخير.