recent
أخبار ساخنة

الشروط Conditions في لغة ++C الدرس |4|

الصفحة الرئيسية
الشروط conditions

الشروط conditions في C++

الشروط conditions يتم إستخدامها من أجل تحديد طريقة عمل البرنامج على حسب المتغيرات التي تطرأ على الكود.

يمكن وضع العدد الذي تريده من الشروط conditions في البرنامج, و تستطيع أيضاً وضع الشروط بداخل بعضها البعض.


أنواع جمل الشرط في C++

  1. جملة if.
  2. جملة else.
  3. جملة else if.
  4. جملة switch.

جملة if الشرطية في C++

جملة if تقوم بتحديد مسار البرنامج تحت شروط معينة, و أهم مثال على ذلك عندما تقوم بإدخال رقمك السري لقفل جهازك المحمول.

فإن الجهاز يأخذ رقمك السري الذي أدخلته ويقارنه بالرقم السري الذي حددته سابقاً في النظام, لو كان الرقم صحيحا سيفتح قفل جهازك.

وغير ذلك فإن الرقم ليس صحيحاً وسيقوم النظام برفضك ويعطيك محاولة اخرى.

الشكل العام لكتابة عبارة if في C++

if (الشرط)
{
الكود الذي سيتم تشغيله في حال تحقق الشرط
}

مثال 1

if (password == 12345)
{
	cout << "كلمة السر صحيحة";
}

وضعنا شرط أن باسورد الهاتف هو 12345 و عندما يقوم المستخدم بكتابة الباسورد بشكل صحيح سوف يطبع له أن كلمة السر صحيحة و يفتح الهاتف.

 

مثال 2

#include <iostream>
using namespace std;
int main()
{
    const int password = 12345;
    int input;
    cout << "ادخل الرقم السري";
    cin >> input;
    if(input == password)
    {
        cout << "الرقم السري صحيح" << endl;
    }
    return 0;
}

أنشأنا متغير عددي إسمه const وهو يكون للرمز السري و به القيمة 12345 ثم أنشأنا متغير input لمطالبة المستخدم و طباعة له أدخل الرقم السري.

و بواسطة الدالة cin طلبنا من المستخدم أن يدخل رقم من عنده ووضعنا شرط في حال التطابق يطبع للمستخدم الرقم السري صحيح.


جملة else الشرطية في C++

جملة else تستخدم في حالة عدم تحقق شرط جملة if الأولى, و لا يمكن لجملة else أن تتواجد بدون جملة if تسبقها.

أي جملة if إذا تحقق شرطها يتم تشغيل الأوامر الموجودة في داخل الجملة if و لا تتحقق الأوامر الموجودة داخل else والعكس صحيح.

حيث إذا لم يتحقق الشرط الموجود في if سوف تتحقق الأوامر في else ولا تتحقق الأوامر الموجودة في جملة if.

الشكل العام لكتابة عبارة else في C++

if (expression)
	{
		exprission1  /اذا تحقق الشرط
	}
else
	{
	    expression2  / اذا لم يتحقق الشرط
	}

مثال 1

#include <iostream>
using namespace std;
int main()
{
    const int password = 12345;
    int input;
    cout << "ادخل الرقم السري";
    cin >> input;
    if(input == password)
    {
        cout << "الرقم السري صحيح" << endl;
    }
    else
    {
    	cout << "لقد ادخلت رقماً خاطئ" << endl;
    }
    return 0;
}

أنشأنا متغير عددي إسمه const وهو يكون للرمز السري و به القيمة 12345 ثم أنشأنا متغير input لمطالبة المستخدم و طباعة له أدخل الرقم السري.

و بواسطة الدالة cin طلبنا من المستخدم أن يدخل رقم من عنده ووضعنا شرط في حال التطابق يطبع للمستخدم الرقم السري صحيح.

و وضعنا جملة else بحال أدخل المستخدم رقم غير صحيح, و سوف يطبع له الجملة لقد أدخلت رقم خاطئ.

 

مثال 2

#include <iostream>
using namespace std;
int main()
{
if (7 > 0)
    {
        cout << "جيد" << endl;
    }
    else
    {
        cout << "سيئ" << endl;
    }
}

اعطينا البرنامج إذا رقم 7 أكبر من الصفر 0 إطبع لنا كلمة good أي عند تحقق الشرط.

و القسم الثاني من الشرط إذا لم يتحقق هذا الشرط إطبع لنا no good و بالفعل الشرط محقق أن الـ 7 اكبر من الصفر 0 طبع لنا في الإخراج كلمة good.

يمكن أن يأتي البرنامج بجملة if فقط بدون else و لكن else مستحيل تأتي بدون أن تسبقها جملة if لأنه جزء أساسي من الشرط.


جملة else if الشرطية في C++

جملة else if هي طريقة لعمل مجموعة خيارات متعددة تبدأ بجملة if و تليها جملة else if وواحدة من هذه الخيارات فقط تتحقق.

يقوم البرنامج اولاً بالتأكد من حالة جملة if الأولى و إذا تحققت فإنه لن يتحقق أي من جمل else if اخرى تليها حتى آخر جملة else.

حيث أنك إذا أردت أن تقوم بعمل كتلة من الخيارات التي يتحقق أحدها فقط فإن البداية ستكون بجملة if. والنهاية ستكون بجملة else أو حتى else if إذا لم تليها جملة else اخرى.

وتنتهي تركيبة جملة if حيث تعتبر جمل if و جمل else if التي تليها كلها مرتبطة و كأنها كتلة واحدة من الأوامر أحدها فقط الذي يتحقق ولا يتحقق غيرها.

أما إن لم تتحقق الجملة الأولى فإنه يذهب مباشرتاً إلى الجملة الثانية else if التي تليها و إذا تحققت لن يتحقق من أي جمل else if الأخرى.

وهكذا لجميع جمل else if في داخل المجموعة حتى و إن لم يتحقق أي من هذه الخيارات ووجدت else في النهاية و أنهُ حتماً سيتحقق أمر else أي ليس أي من ما سبق.

الشكل العام لكتابة عبارة else if في C++

if (الشرط 1) {
  /اذا كان الشرط صحيحا يتنفذ هذا
} else if (الشرط 2) {
  /اذا كان الشرط الاول خاطئ و الثاني صحيحا
} else {
  /يتم تنفيذ هذه اذا كانت الجمل في الاعلى خاطئة
}

مثال

#include <iostream>
using namespace std;
int main()
{
int time = 23;
if (time < 12) {
  cout << "صباح الخير.";
} else if (time < 19) {
  cout << "يوم سعيد.";
} else {
  cout << "مساء الخير.";
}
}

أنشأنا متغير عددي وهو time و قيمته هي 23 أي الساعة 11 ليلاً ووضعنا شرط if إذا كان المتغير اصغر من 12 قم بطباعة صباح الخير أي الساعة أقل من 12 ظهراً.

و إذا كان أصغر من 19 إطبع يوم سعيد أي أقل من الساعة 7 مساءً.

و غير ذلك قم بطباعة مساء الخير لأنه حتماً سيكون ليلاً.

 

جملة switch في C++

جملة switch تشابه في عملها جمله if الشرطية ويفضّل إستخدام جملة switch في عمليات المقارنة والتحقيق بحالة تعدد المقارنة من ناحية المساواة.

الشكل العام لجملة switch في لغة C++

switch(Expression)
{
case 1 :
break;
default:
break; 
}

مثلاً إذا كان بين الأقواس () رقم 1 سوف يتنفذ الأول و إذا كان رقم 2 سوف يتنفذ الثاني و هكذا...

أما إذا كان ما بين الأقواس فارغ سوف يتنفذ الـ default, وهي لا تقبل فقط الأرقام الصحيحة.

مثال 1

#include <iostream>
using namespace std;
int main()
{
    switch (1)
    {
    case 1:cout << "case #1" << endl;
        break;
    case 2:cout << "case #2" << endl;
        break;
    case 3:cout << "case #3" << endl;
        break;
    default:
        cout << "not rang" << endl;
        break;
    }
}

كتبنا عبارة switch ووضعنا الشرط بين القوسين هو 1 و بدأنا بتنفيذ عدة إحتمالات على هذا الشرط.

وهي:

  • في حال كان الإحتمال الأول هو 1 يطبع لنا case #1 و يتوقف.
  • في حال كان الإحتمال الثاني هو 2 يطبع لنا case #2 و يتوقف.
  • في حال كان الإحتمال الثالث هو 3 يطبع لنا case #3 و يتوقف.
  • و إذا كان غير ذلك يطبع not rang لأنها قيمة إفتراضية.


عند تشغيل الكود ستكون نتيجته

case #1

كما لآحظنا أن ما بين الأقواس هو رقم 1 طبع لنا case1 و إذا وضعناه 2 سيطبع 2 و هكذا .... أما إذا كان قيمته أكبر من قيم الـ case سيطبع default.

مثال 2

#include <iostream>
using namespace std;
int main()
{
    switch (30)
    {
    case 1:cout << "case #1" << endl;
        break;
    case 2:cout << "case #2" << endl;
        break;
    case 3:cout << "case #3" << endl;
        break;
    default:
        cout << "not rang" << endl;
        break;
    }
}

كتبنا عبارة switch ووضعنا الشرط بين القوسين هو 30 و بدأنا بتنفيذ عدة إحتمالات على هذا الشرط.

وهي:

  • في حال كان الإحتمال الأول هو 1 يطبع لنا case #1 و يتوقف.
  • في حال كان الإحتمال الثاني هو 2 يطبع لنا case #2 و يتوقف.
  • في حال كان الإحتمال الثالث هو 3 يطبع لنا case #3 و يتوقف.
  • و إذا كان غير ذلك يطبع not rang لأنها قيمة إفتراضية.


وعند تشغيل الكود ستكون النتيجة

not rang

اذا لم نكتب break سوف يطبع لنا الجمل كاملة لأن مهمة break هي إيقاف العمل عندما يتنفذ الشرط

 

google-playkhamsatmostaqltradent