الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

switch من يفهمني ؟؟

مغلق
بدأه الموقر في 8 ديسمبر 2006 · 5 رد · 10,030 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

طبعا من عنوان الموضوع

ابغى احد يفهمني switch وش فايدته وكيف عمله واذا ما عليكم امر امثله او تمارين عليه

وشكرا لكم

اخوكم الموقر

#2

عزيزي Switch تقوم مقام If Else .

مثال لها ..

int x;

cin >> x;

switch (x)
{

	 case 1 :
				   dosomething();
				   break;
	 case 2 : 
				  dosomethingElse();
				  break;
	   .
	   .
	   .
};

هي لا تقبل في الحقيقة سوى int و char .

#3

أخوي... الموقر... switch جدا سهلة في الفهم والاستخدام... وان شاء الله حتحسها سهلة وبسيطه بعد ما تفهمها...وهذا شرح مبسط لها .. مع مثال .. وبتستفيد ان شاء الله.

_ swith is one of the selection or branch structures in c++...which gives the computer the power to choose from many alternatives.

The general form is:

swith (expression)
{
case value1: statements;
break;
case value2: statements;
break;
.
.
.
.
.
.
case valuen: statements;
break;
default: statements;
break;	//اختياريه
}

// the next action

switch, case, break, and default are reservied words.it means key words.

_ تستخدم جملة switch لنقل التحكم الى جملة أو كتلة جمل حسب قيمة متغير أو تعبير رياضي.

switch(exp)...the (exp) can be on of this:

1) رمز حرفي أو متغير يأخذ قيمة حرفيه. مثال:

char ch;
cin>>ch;
switch(ch)

2) تعبير منطقي له قيمة صحيحة int

3) تعبير حسابي له قيمة صحيحة int

4) اسم متغير له قيمة صحيحةint,long int

ملاحظه: لا يجوز استخدام أي متغيرات لها قيم حقيقية float, double

* كلمة case تستخدم للدلالة على القيم المختلفة والمحتملة للمتغير أو التعبير ، يليها إحدى القيم المحتملة للمتغير أو التعبير.

فإذا كانت القيم أعداد صحيحة .. فهي : موجبة/سالبة/صفر، اما اذا كانت القيم حرفية فنضعها داخل علامة الاقتباس المفرد ' ' .

أما اذا كان التعبير منطقي ، فالقيم المتوقعه هي 0/1 أو true / false .

بعد ذلك يليه الرمز : ثم بعده الجملة / الجمل ( كتل من الجمل block) التي يجب ان تنفذ في حالة تحقق القيمة . مع ملاحظة أن الجمل ( الكتل) لا توضع داخل { }

* كلمة أو جملة brek; تستخدم لنقل التحكم للجملة next action أي بعد انتهاء جملة switch وذلك بعد أن نكون قد نفذنا الجملة أو الحزمة السابقه لها .

أهميتها أنها تمنع إكمال تنفيذ جمل switch التي مع كلمات cases الأخرى. وتركها في الجزئية التابعه لـ default لن تسبب أية مشاكل . لأنه لايوجد cases بعدها.

- كلمة default هي كلمة محجوزة . وهي كلمة اختياريه . ويقوم الحاسب بتنفيذ الجملة/ الجمل التابعه لها عندما لا تتطابق قيمة المتغير / التعبير مع أي قيمة من القيم التالية لجمل( لكلمة) case.

* الأقواس {} تعني بداية ونهاية switch.

* في البداية يقيم /يحسب التعبير exp ومن قيمته نستطيع أن نحدد نوعية الجملة/ الجمل المطلوب تنفيذها والتي تتبع كلمة case .

مثال:

switch(x)

أو

switch(x+3)

وهذه أمثله على برامج باستخدام switch

الأول يأخذ العلامة الدراسية حرفيا .. ثم يخرج جملة تقول علامتك .

يعني مثلا تدخل حرف A يقوم يخرج لك grade is A يعني المستوى إمتياز.

#include<conio>
#include<iostream>
int main()
{
char grade;
cin>>grade;
switch(grade)
{
case 'A': cout<<"\n grade is A";
break;
case 'B': cout<<"\n grade is B";
break;
case 'c': cout<<"\n grade is C";
break;
case 'd': cout<<"\n grade is D";
break;
case 'F': cout<<"\n grade is F";
break;
default: cout<<"\n The grade is invalid";
}
cout<<"\n FINISH";
getch();
return 0;
}

/*			the out put

B

 grade is B
 FINISH

 */

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

ان شاء الله بتستفيد منو.

وهذا كمان برنامج تاني ممتاز .. ويفهم مزبوط:

#include<conio>
#include<iostream>
int main()
{
int x;
cin>>x;
switch(x)
{
case 0: cout<<"it is zero";
break;
case 3: cout<<"it is three";
break;
case 9: cout<<"it is nine";
break;
default: cout<<"it is not 0  or  3  or  9";
}
cout<<"\n we are done !";
getch();
return 0;
}

وهذا برضو مثال كويس وحلو :

#include<conio>
#include<iostream>
int main()
{
int x,y;
cin>>x;
switch(x)
{
case 1:
case 2:
case 3: y=2*x;
cout<<"x="<<x<<"\t"<<"y="<<y;
break;
case 8: y=3*x+5;
cout<<"x="<<x<<"\t"<<"y="<<y;
break;
default: cout<<"\nAre you sure?!!";
}
cout<<"\nfinish";
getch();
return 0;
}

 /*	out put
2
x=2	 y=4
finish

*/
#4

ان شاء الله تستفيد من هذه الأمثله .. لأنها اكثر شي يفهم... وحاول تنسخ البرنامج على الcompiler اللي هوا برنامج ال c++ وادخل مدخلات غير اللي انا كاتبتها.. وشوف كيف تتغير المخرجاتز.. موفق ان شاء الله

#5

السلام عليكم ورحمة الله وبركاته

انا كنت استفسر عن هالشغله هذي

اخواني اعضاء المنتدى

انا اعرف ان ال switch هي نفسها if...else...if

بس انا عندي داله مكتوبه ب if..else...if وبخليها بال switch يطلع عندي error

وهذي هي الدالة:-

void Student::grade ()

{

float grd = ( markO + markT );

if ( grd <= 59.0 )

cout << "F";

else if ( grd <= 64.0 )

cout << "D";

else if ( grd <= 69.0 )

cout << "D+";

else if ( grd <= 74.0 )

cout << "C";

else if ( grd <= 79.0 )

cout << "C+";

else if ( grd <= 84.0 )

cout << "B";

else if ( grd <= 89.0 )

cout << "B+";

else if ( grd <= 94.0 )

cout << "A";

else if ( grd <= 100.0 )

cout << "A+";

}

معليش حبايبي ما اعرف احط الكود مثلكم

#6
اقتباس
السلام عليكم ورحمة الله وبركاته

انا كنت استفسر عن هالشغله هذي

اخواني اعضاء المنتدى

انا اعرف ان ال switch هي نفسها if...else...if

بس انا عندي داله مكتوبه ب if..else...if وبخليها بال switch يطلع عندي error

وهذي هي الدالة:-

void Student::grade ()

{

float grd = ( markO + markT );

if ( grd <= 59.0 )

cout << "F";

else if ( grd <= 64.0 )

cout << "D";

else if ( grd <= 69.0 )

cout << "D+";

else if ( grd <= 74.0 )

cout << "C";

else if ( grd <= 79.0 )

cout << "C+";

else if ( grd <= 84.0 )

cout << "B";

else if ( grd <= 89.0 )

cout << "B+";

else if ( grd <= 94.0 )

cout << "A";

else if ( grd <= 100.0 )

cout << "A+";

}

سؤااااااال بانتظار اجابته على ناررر من عمالقة لغة السي

يا ريت اللي يعرف شو حلها يجاوبنا :)

هذا الموضوع مغلق.

مواضيع مشابهة