19-10-12, 11:02 AM
كاتب الموضوع : lo2i
والان جرب واعطيني النتيجة
====================
========
==
انتظروا الدرس التاسع !!
السلام عليكم ورحمة الله وبركاته
(( وماأوتيتم من العلم إلا قليلاً ))
-------------------------------------------------------------------------------------------------------------------------------
الدرس الثامن في دورة السي بلس بلس
-------------------------------------------------------------------------------------------------------------------------------
سنتعلم في هذا الدرس ان شاء الله :_
- ماهي جملة ال switch
- ماهي فائدة جملة ال switch
- كيفية كتابتها
- ماهو وجه التشابه والاختلاف بينها وبين ال else if في الجمل الشرطية .
- امثلة على استخداماتها ..
------------------------===-------------------------
اولاً :- ماهي جملة ال switch :-
جملة ال switch هي نفسها جملة ال select case التي نقوم باستخدامها في الفيجوال 6 او في الفيجوال دوت نيت وكثير من اللغات الاخرى ..
---------------------------------------
ثانياً :- ماهي فائدة جملة ال switch :-
لنفرض ان لديك متغير يحمل قيمة 10
وقمنا بتعريفه بهذا الشكل داخل الاجراء main
واردت اذا كان الرقم مثلاً يساوي 10 ان يخرج لك رسالة معينة
واذا كان الرقم يساوي 9 ان يخرج لك رسالة معينة
واذا كان الرقم يساوي 8 ان يخرج لك رسالة معينة
إلى اخرى
واذا كان غير الارقام التي قمت بكتابتها جميعها ,,
بإخراج رسالة انت تحدد قيمتها ....
---------------------------------------------
كيفية كتابتة جملة ال switch
في الكود السابق عرفنا متغير باسم x واخد قيمة العشرة
ثم بدأنا بجملة ال switch بهذا الشكل
كما هو موضح في الكود السابق ,,
اشترطنا او وضعنا مؤشر ال switch على المتغير x وبمعنى اخر قيمة ال x
-------------
الان بندأ باعطاءه الخيارات المتعدد له ولشروطه
بهذ الشكل
في الكود السابق بدأنا بالكلمة المحجوزة case واعطيناها القيمة 1
اي اذا كان قيمة المتغير x = 1 اذا ثم نفتح قوسيين{ }
ثم نكتب الكود الذي سيطبق اذا كان المتغير يساوي 1
ركز معي هنا انا متأكد انك تتسأئل الان عن الكلمة break
هي بالفعل اهم كلمة ينبغي التنبيه عليها وخصوصاً مع ال switch
فالكلمة التالية تعمل على الخروج من حلقة ال switch عند مطابقة لرقم او لاختيار من الاختيارات السابقة ..
وهكذا مع باقي الاختيارات
وهذا ايضاً خيار اذا كان قيمة ال x = 2 بهذ الشكل ,,
وكما هو الحال في اي لغة برمجية يجب ان تنتهي جملة ال switch او ال select case باختيار افتراضي في الفيجوال دوت نيت
كنا نستخدم الكلمة else case
او هنا فسوف نستخدم الكلمة default
بهذا الشكل ,,
ويصبح الكود كاملاً بهذا الشكل ..
شرح الكود باختصار ,,
قمنا بتعريف متغير واسندنا له قيمة العشرة
ثم عملنا جملة switch على المتغير x التي تساوي العشرة
واعطينا اختيارين لل switch اذا كان الرقم يساوي 1 يخرج شيء محدد
واذا كان الرقم 2 يخرج شيء اخر محدد مسبقاً في الكود
واذا كانت قيمة ال x لاتساوي ال1 او لاتساوي ال 2 اذا فسوف ينتقل التنفيذ
للـ defalut
وهو الذي تتنهي من خلاله جملة ال switch
وهذه صورة توضح بعض الكلمات المستخدمة في الفيجوال بيسك 6 والفرق بينها
وبين السي بلس بلس ,,
ولكن بالفعل فالفيجوال بيسك دوت نيت اصبح يحمل هذه الخاصية وهي خاصية ال break لل select case او لل switch
وكما تكلمنا في الاعلى ان ال select case هي نفسها ال switch
ولكن تختلف من لغة للغة اخرى !
-------------
وهذا مثال اخر يقوم باخد اي حرف من المستخدم ثم يخرج له الحرف الذي كتبه
ولكن كل ذلك يعتمد على ال cases الذي قمت بكتابتها
اليك المثال ,,
شرح سريع للكود
عرفنا متغير من نوع char وهو ليدخل فيه المستخدم اي حرف
ثم يقوم بالبحث في ال switch فإذا تحقق الشرط كان بها واخرج لك الرسالة
التي حددتها وان لم يكن ضمن الخيارات التي قدمتها في الكود
سيتم الانتقال للـ default
ويمكن اختصار جملة ال switch بهذه الطريقة ,,
ولو لاحظت الفرق ,, الفرق هو عدم استعمال ال { }
اثناء عمل ال cases
وباقي الكود تم شرحه مسبقاً (في الاعلى !)
-------------------------------
انتهى الدرس !!
ماكان صواباً فمن الله وماكان خطأ فمن نفسي ومن الشيطان !
واي سؤال انا حاضر
- ماهي جملة ال switch
- ماهي فائدة جملة ال switch
- كيفية كتابتها
- ماهو وجه التشابه والاختلاف بينها وبين ال else if في الجمل الشرطية .
- امثلة على استخداماتها ..
------------------------===-------------------------
اولاً :- ماهي جملة ال switch :-
جملة ال switch هي نفسها جملة ال select case التي نقوم باستخدامها في الفيجوال 6 او في الفيجوال دوت نيت وكثير من اللغات الاخرى ..
---------------------------------------
ثانياً :- ماهي فائدة جملة ال switch :-
لنفرض ان لديك متغير يحمل قيمة 10
وقمنا بتعريفه بهذا الشكل داخل الاجراء main
كود :
[color=#000000][COLOR=#0000bb]int x [/color][color=#007700]= [/color][color=#0000bb]10 [/color][COLOR=#007700];
[/COLOR][color=#0000bb][/color][/COLOR]
واردت اذا كان الرقم مثلاً يساوي 10 ان يخرج لك رسالة معينة
واذا كان الرقم يساوي 9 ان يخرج لك رسالة معينة
واذا كان الرقم يساوي 8 ان يخرج لك رسالة معينة
إلى اخرى
واذا كان غير الارقام التي قمت بكتابتها جميعها ,,
بإخراج رسالة انت تحدد قيمتها ....
---------------------------------------------
كيفية كتابتة جملة ال switch
كود :
[color=#000000][COLOR=#0000bb][/color][COLOR=#ff8000]#include "stdafx.h"
#include <iostream>
[/COLOR][color=#0000bb]using namespace std[/color][COLOR=#007700];
[/COLOR][color=#0000bb]int main[/color][COLOR=#007700]()
{
[/COLOR][color=#0000bb]int x[/color][color=#007700]([/color][color=#0000bb]10[/color][COLOR=#007700]) ;
switch ([/COLOR][color=#0000bb]x[/color][COLOR=#007700])
{
case [/COLOR][color=#0000bb]10[/color][COLOR=#007700]:
{
[/COLOR][color=#0000bb]cout [/color][color=#007700]<< [/color][color=#dd0000]"the number is equal to 10\n\n"[/color][COLOR=#007700];
}
break;
default:
{
[/COLOR][color=#0000bb]cout [/color][color=#007700]<< [/color][color=#dd0000]"the number is not equal to 10"[/color][COLOR=#007700];
}
}
[/COLOR][color=#0000bb]system[/color][color=#007700]([/color][color=#dd0000]"pause"[/color][COLOR=#007700]);
return [/COLOR][color=#0000bb]0[/color][COLOR=#007700];
}
[/COLOR][color=#0000bb][/color][/COLOR]
في الكود السابق عرفنا متغير باسم x واخد قيمة العشرة
ثم بدأنا بجملة ال switch بهذا الشكل
كود :
[color=#000000][COLOR=#0000bb][/color][color=#007700]switch ([/color][color=#0000bb]x[/color][COLOR=#007700])
{
}
[/COLOR][color=#0000bb][/color][/COLOR]
كما هو موضح في الكود السابق ,,
اشترطنا او وضعنا مؤشر ال switch على المتغير x وبمعنى اخر قيمة ال x
-------------
الان بندأ باعطاءه الخيارات المتعدد له ولشروطه
بهذ الشكل
كود :
[color=#000000][COLOR=#0000bb][/color][color=#007700]case [/color][color=#0000bb]1[/color][COLOR=#007700]:
{
[/COLOR][color=#0000bb]cout [/color][color=#007700]<< [/color][color=#dd0000]"the number is equal to 1\n\n"[/color][COLOR=#007700];
}
break;
[/COLOR][color=#0000bb][/color][/COLOR]
في الكود السابق بدأنا بالكلمة المحجوزة case واعطيناها القيمة 1
اي اذا كان قيمة المتغير x = 1 اذا ثم نفتح قوسيين{ }
ثم نكتب الكود الذي سيطبق اذا كان المتغير يساوي 1
ركز معي هنا انا متأكد انك تتسأئل الان عن الكلمة break
هي بالفعل اهم كلمة ينبغي التنبيه عليها وخصوصاً مع ال switch
فالكلمة التالية تعمل على الخروج من حلقة ال switch عند مطابقة لرقم او لاختيار من الاختيارات السابقة ..
وهكذا مع باقي الاختيارات
وهذا ايضاً خيار اذا كان قيمة ال x = 2 بهذ الشكل ,,
كود :
[color=#000000][COLOR=#0000bb][/color][color=#007700]case [/color][color=#0000bb]2[/color][COLOR=#007700]:
{
[/COLOR][color=#0000bb]cout [/color][color=#007700]<< [/color][color=#dd0000]"the number is equal to 2\n\n"[/color][COLOR=#007700];
}
break;
[/COLOR][color=#0000bb][/color][/COLOR]
وكما هو الحال في اي لغة برمجية يجب ان تنتهي جملة ال switch او ال select case باختيار افتراضي في الفيجوال دوت نيت
كنا نستخدم الكلمة else case
او هنا فسوف نستخدم الكلمة default
بهذا الشكل ,,
كود :
[color=#000000][COLOR=#0000bb][/color][COLOR=#007700]default:
{
[/COLOR][color=#0000bb]cout [/color][color=#007700]<< [/color][color=#dd0000]"the number is not equal to 10"[/color][COLOR=#007700];
}
[/COLOR][color=#0000bb][/color][/COLOR]
ويصبح الكود كاملاً بهذا الشكل ..
كود :
[color=#000000][COLOR=#0000bb][/color][COLOR=#ff8000]#include "stdafx.h"
#include <iostream>
[/COLOR][color=#0000bb]using namespace std[/color][COLOR=#007700];
[/COLOR][color=#0000bb]int main[/color][COLOR=#007700]()
{
[/COLOR][color=#0000bb]int x[/color][color=#007700]([/color][color=#0000bb]3[/color][COLOR=#007700]) ;
switch ([/COLOR][color=#0000bb]x[/color][COLOR=#007700])
{
case [/COLOR][color=#0000bb]1[/color][COLOR=#007700]:
{
[/COLOR][color=#0000bb]cout [/color][color=#007700]<< [/color][color=#dd0000]"the number is equal to 1\n\n"[/color][COLOR=#007700];
}
break;
case [/COLOR][color=#0000bb]2[/color][COLOR=#007700]:
{
[/COLOR][color=#0000bb]cout [/color][color=#007700]<< [/color][color=#dd0000]"the number is equal to 2\n\n"[/color][COLOR=#007700];
}
break;
default:
{
[/COLOR][color=#0000bb]cout [/color][color=#007700]<< [/color][color=#dd0000]"the number is not equal to 10"[/color][COLOR=#007700];
}
}
[/COLOR][color=#0000bb]system[/color][color=#007700]([/color][color=#dd0000]"pause"[/color][COLOR=#007700]);
return [/COLOR][color=#0000bb]0[/color][COLOR=#007700];
}
[/COLOR][color=#0000bb][/color][/COLOR]
شرح الكود باختصار ,,
قمنا بتعريف متغير واسندنا له قيمة العشرة
ثم عملنا جملة switch على المتغير x التي تساوي العشرة
واعطينا اختيارين لل switch اذا كان الرقم يساوي 1 يخرج شيء محدد
واذا كان الرقم 2 يخرج شيء اخر محدد مسبقاً في الكود
واذا كانت قيمة ال x لاتساوي ال1 او لاتساوي ال 2 اذا فسوف ينتقل التنفيذ
للـ defalut
وهو الذي تتنهي من خلاله جملة ال switch
وهذه صورة توضح بعض الكلمات المستخدمة في الفيجوال بيسك 6 والفرق بينها
وبين السي بلس بلس ,,
ولكن بالفعل فالفيجوال بيسك دوت نيت اصبح يحمل هذه الخاصية وهي خاصية ال break لل select case او لل switch
وكما تكلمنا في الاعلى ان ال select case هي نفسها ال switch
ولكن تختلف من لغة للغة اخرى !
-------------
وهذا مثال اخر يقوم باخد اي حرف من المستخدم ثم يخرج له الحرف الذي كتبه
ولكن كل ذلك يعتمد على ال cases الذي قمت بكتابتها
اليك المثال ,,
كود :
[color=#000000][COLOR=#0000bb][/color][COLOR=#ff8000]#include "stdafx.h"
#include <iostream>
#include <string>
[/COLOR][color=#0000bb]using namespace std[/color][COLOR=#007700];
[/COLOR][color=#0000bb]int main[/color][COLOR=#007700]()
{
[/COLOR][color=#0000bb]char letter[/color][COLOR=#007700];
[/COLOR][color=#0000bb]cout [/color][color=#007700]<< [/color][color=#dd0000]"enter any leteer here\n"[/color][COLOR=#007700];
[/COLOR][color=#0000bb]cin [/color][color=#007700]>> [/color][color=#0000bb]letter[/color][COLOR=#007700];
switch([/COLOR][color=#0000bb]letter[/color][COLOR=#007700])
{
case [/COLOR][color=#dd0000]'a'[/color][COLOR=#007700]:
{
[/COLOR][color=#0000bb]cout [/color][color=#007700]<< [/color][color=#dd0000]"you are press 'a'" [/color][color=#007700]<< [/color][color=#0000bb]endl [/color][COLOR=#007700];
}
break;
case [/COLOR][color=#dd0000]'b'[/color][COLOR=#007700]:
{
[/COLOR][color=#0000bb]cout [/color][color=#007700]<< [/color][color=#dd0000]"you are press 'b'" [/color][color=#007700]<< [/color][color=#0000bb]endl [/color][COLOR=#007700];
}
break;
case [/COLOR][color=#dd0000]'c'[/color][COLOR=#007700]:
{
[/COLOR][color=#0000bb]cout [/color][color=#007700]<< [/color][color=#dd0000]"you are press 'c'" [/color][color=#007700]<< [/color][color=#0000bb]endl [/color][COLOR=#007700];
}
break;
case [/COLOR][color=#dd0000]'d'[/color][COLOR=#007700]:
{
[/COLOR][color=#0000bb]cout [/color][color=#007700]<< [/color][color=#dd0000]"you are press 'd'" [/color][color=#007700]<< [/color][color=#0000bb]endl [/color][COLOR=#007700];
}
break;
default:
{
[/COLOR][color=#0000bb]cout [/color][color=#007700]<< [/color][color=#dd0000]"wrong input!!\n\n"[/color][COLOR=#007700];
}
}
[/COLOR][color=#0000bb]system[/color][color=#007700]([/color][color=#dd0000]"pause"[/color][COLOR=#007700]);
return [/COLOR][color=#0000bb]0[/color][COLOR=#007700];
}
[/COLOR][color=#0000bb][/color][/COLOR]
شرح سريع للكود
عرفنا متغير من نوع char وهو ليدخل فيه المستخدم اي حرف
ثم يقوم بالبحث في ال switch فإذا تحقق الشرط كان بها واخرج لك الرسالة
التي حددتها وان لم يكن ضمن الخيارات التي قدمتها في الكود
سيتم الانتقال للـ default
ويمكن اختصار جملة ال switch بهذه الطريقة ,,
كود :
[color=#000000][COLOR=#0000bb][/color][COLOR=#ff8000]#include "stdafx.h"
#include <iostream>
#include <string>
[/COLOR][color=#0000bb]using namespace std[/color][COLOR=#007700];
[/COLOR][color=#0000bb]int main[/color][COLOR=#007700]()
{
[/COLOR][color=#0000bb]char letter[/color][COLOR=#007700];
[/COLOR][color=#0000bb]cout [/color][color=#007700]<< [/color][color=#dd0000]"enter any leteer here\n"[/color][COLOR=#007700];
[/COLOR][color=#0000bb]cin [/color][color=#007700]>> [/color][color=#0000bb]letter[/color][COLOR=#007700];
switch([/COLOR][color=#0000bb]letter[/color][COLOR=#007700])
{
case [/COLOR][color=#dd0000]'a'[/color][COLOR=#007700]:
[/COLOR][color=#0000bb]cout [/color][color=#007700]<< [/color][color=#dd0000]"you are press 'a'" [/color][color=#007700]<< [/color][color=#0000bb]endl [/color][COLOR=#007700];
break;
case [/COLOR][color=#dd0000]'b'[/color][COLOR=#007700]:
[/COLOR][color=#0000bb]cout [/color][color=#007700]<< [/color][color=#dd0000]"you are press 'b'" [/color][color=#007700]<< [/color][color=#0000bb]endl [/color][COLOR=#007700];
break;
case [/COLOR][color=#dd0000]'c'[/color][COLOR=#007700]:
[/COLOR][color=#0000bb]cout [/color][color=#007700]<< [/color][color=#dd0000]"you are press 'c'" [/color][color=#007700]<< [/color][color=#0000bb]endl [/color][COLOR=#007700];
break;
case [/COLOR][color=#dd0000]'d'[/color][COLOR=#007700]:
[/COLOR][color=#0000bb]cout [/color][color=#007700]<< [/color][color=#dd0000]"you are press 'd'" [/color][color=#007700]<< [/color][color=#0000bb]endl [/color][COLOR=#007700];
break;
default:
[/COLOR][color=#0000bb]cout [/color][color=#007700]<< [/color][color=#dd0000]"wrong input!!\n\n"[/color][COLOR=#007700];
}
[/COLOR][color=#0000bb]system[/color][color=#007700]([/color][color=#dd0000]"pause"[/color][COLOR=#007700]);
return [/COLOR][color=#0000bb]0[/color][COLOR=#007700];
}
[/COLOR][color=#0000bb][/color][/COLOR]
ولو لاحظت الفرق ,, الفرق هو عدم استعمال ال { }
اثناء عمل ال cases
وباقي الكود تم شرحه مسبقاً (في الاعلى !)
-------------------------------
انتهى الدرس !!
ماكان صواباً فمن الله وماكان خطأ فمن نفسي ومن الشيطان !
واي سؤال انا حاضر
والان جرب واعطيني النتيجة
====================
========
==
انتظروا الدرس التاسع !!