الدرس السابع 7: جمله الشرط Switch في لغه c++

جملة switch :

احد جمل التحقق من الشرط الموجوده في لغات البرمجه من ضمنهم لغه c++

حيث انها تشابه في عملها مع جمله if المتداخله , الا انه يفضل هاذه الجمله في عمليات المقارنه والتحقق في حاله تعدد المقارنه من ناحيه المساواه
اي مثلا  لو فرضنا علامه تساوي A يطبع ممتاز  B  يطبع جيد جدا  وهاكذا 

 الامثله القادمه سوف توضح الاختلاف الخفي لها عن جمل if :

اولاً: الشكل العام ل جمله switch ::


switch (x) {

case v1 : {مانريد القيام به اذا تحقق هاذا الشرط}

case v2:{مانريد القيام به اذا تحقق هاذا الشرط}

case v3:{مانريد القيام به اذا تحقق هاذا الشرط}

default:{مانريد القيام به اذا لم يتحقق اي شيئ مما سبق}

}

حيث ان x هو المتغير الذي نريد مقارنته مع v1  و  v2 و v3 ...الخ   , و ان v1  و  v2 و v3  هي القيم التي نريد المقارنه معها  

العمليه المتاحه للمقارنه هي المساواه حيث ان x تساوي v1 او v2 وهاكذا

default: مثلها مثل عمل ال else في جمل if السابق ذكرها في الدروس السابقه , فإن لم يتحقق اي شرط تنفذ هاذه الجمله ** ويمكن عدم كتابتها**

ملاحظه مهمه ::اذا تحقق احد شروط المقارنه ف انه سوف ينفذ الجمله التابعه للشرط, ليس هاذا فقط  بل سوف ينفذ جمل المقارنات التي تليه   ولحل هاذه المشكله نستخدم كلمه التوقف breake;


المثال التالي يوضح ادخال علامه الطالب بالاحرف    Aا وB او C  

ثم يطبع النتيجه بناءاًٍٍٍََ على الحرف المدخل

 #include <iostream>

using namespace std ;

void main (){

char a;

cin>>a;

switch (a) {

case 'A': {cout<<"exelant";

 cout<<endl;}

case 'B':{cout<<"v.good";

cout<<endl;}

case 'C':{cout<<"good";

cout<<endl;}

default:{cout<<"F";

cout<<endl;}

}

system("pause");  }



لكن سوف نلاحظ انه اذا ادخلنا A  على سبيل المثال   سوف يطبع كل جمل الشروط الاخرى  اي ينفذ جمله ال A وجمل باقي الشروط التي بعدها وياتي ذلك بسبب ان اليه عمله هي انه اذا كان ناتج هاذا الشرط T ينفذ جملته ويتحقق من باقي الشروط التي تليه ويعتبرها T وينفذها 

ولحل هاذه المشكله نستخدم جمله الايقاف   break; حيث يكون عملها اذا تحقق الشرط A مثلا نفذ جملته ثم توقف // فلا يذهب للتحقق من الشروط التي تليه بل يخرج من جمله switch 

ليصبح مثالنا السابق بهاذه الطريقه ::

 #include <iostream>

using namespace std ;

void main (){

char a;

cin>>a;

switch (a) {


case 'A': {cout<<"exelant";

 cout<<endl;break;}


case 'B':{cout<<"v.good";

cout<<endl;break;}


case 'C':{cout<<"good";

cout<<endl;break;}


default:{cout<<"F";

cout<<endl;break;}


}

system("pause");  }



الكود باستخدام جمله if:


 #include <iostream>
using namespace std ;
void main (){
char a;
cin>>a;
if (a=='A')
cout<<"exelant";
else if (a=='B')
cout<<"v.good";
 else if (a=='C')
cout<<"good";
  system("pause");  }

Comments

  1. ممكن تساعدونا في حل هذه المسألة

    المطلوب .
    عمل لعبة بإستخدام ++c
    عبارة عن لعبة أسئلة
    اولا تظهر واجهة ترحيب بالمستخدم و يظهر عدة اختيارات :

    اضغط ١ اذا كنت مستعد للعبة
    اضغط ٢ للمساعدة
    اضغط ٣ للخروج للعبة


    اذا ضغط المستخدم ١
    تبدا بطرح الأسئلة عليه و اخباره اذا كانت الاجابة صحيحة او لا

    اذا ضغط رقم ٢ تقوم بشرح اللعبة له

    اذا ضغط رقم ٣ تقوم بالخروج من اللعبة


    ملاحظة الأسئلة لا تقل عن ١٠ أسئلة

    ReplyDelete
  2. انا بساعدك لو بتحب
    ياريت تبعثلي ايميل هون
    zsamamah@yahoo.com

    ReplyDelete

Post a Comment

Popular posts from this blog

الدرس التاسع 9: الفنكشن function تعريفه وانواعه

الدرس الثالث عشر 13: القيمه العشوائيه rund في c++