C++ تبديل بيان الحالة مع أمثلة البرنامج
ما هو المفتاح؟
تساعد عبارة التبديل في اختبار مساواة المتغير مقابل مجموعة من القيم. تُعرف كل قيمة قيد المقارنة بحالة.
انظر إلى المفتاح باعتباره عبارة عن فرع متعدد الاتجاهات. يمكنك تحويل تنفيذ البرنامج إلى أجزاء مختلفة بناءً على قيمة التعبير.
متى تستخدم التبديل؟
المفتاح مشابه للسلم if…else…if. ومع ذلك، فإنه ينشئ رمزًا أنظف وسهل الفهم. كما أن المفتاح أسرع أيضًا مقارنة بسلم if…else…if. استخدم عبارة التبديل عندما تحتاج إلى مقارنة قيمة متغير بمجموعة من القيم الأخرى.
الكلمة الرئيسية استراحة
يتم استخدام الكلمة الأساسية Break داخل بيان التبديل. يمنع تشغيل الكود في الحالة التالية. أنه ينهي تسلسل البيان.
عندما C++ يواجه المترجم كلمة أساسية فاصلة، وينتهي تنفيذ المحول، وينتقل التحكم إلى السطر الذي يأتي بعد بيان التبديل. يعد استخدام عبارة Break في المحول أمرًا اختياريًا. إذا لم يتم استخدامه، يستمر التنفيذ إلى الحالة التالية.
بناء الجملة
هنا هو بناء الجملة لبيان التبديل:
switch (variable)
{
case 1:
break;
case 2:
break;
default:
}
يتم شرح المعلمات المذكورة أعلاه أدناه:
- متغير: هذا هو المتغير الذي سيتم إجراء المقارنة له.
- الحالة: هناك العديد من عبارات الحالة. كل منها يقارن المتغير بقيمة مختلفة.
- استراحة: تمنع هذه الكلمة الأساسية التنفيذ من الاستمرار إلى بيان الحالة التالي.
- الافتراضي: هذا اختياري. وينص على ما يجب القيام به، قيمة المتغير لم تتطابق مع أي حالة.
تبديل حالة البرنامج مثال 1
#include<iostream>
using namespace std;
int main()
{
int x = 20;
switch (x)
{
case 10:
cout<<"X is 10"; break;
case 20:
cout << "X is 20"; break;
case 30:
cout << "X is 30"; break;
default:
cout<<"X is not 10, 20 or 30"; break;
}
return 0;
}
الإخراج:
فيما يلي لقطة شاشة للكود:
شرح الكود:
- بما في ذلك ملف رأس iostream في التعليمات البرمجية الخاصة بنا. سيسمح لنا بالقراءة من وحدة التحكم والكتابة إليها.
- بما في ذلك مساحة الاسم std لاستخدام فئاتها و وظائف دون أن يطلق عليه.
- استدعاء الوظيفة الرئيسية () التي يجب إضافة منطق البرنامج بداخلها.
- تشير العلامة { إلى بداية نص الدالة main().
- الإعلان عن المتغير x وتهيئته إلى 20.
- استخدام عبارة التبديل وتمرير الوسيطة x إليها. وهذا يعني أننا بحاجة إلى مقارنة قيمة المتغير x بمجموعة من القيم الأخرى.
- تشير العلامة { إلى بداية جسم التبديل.
- مقارنة قيمة المتغير x بقيمة 10.
- العبارة التي سيتم تنفيذها إذا كانت الحالة المذكورة أعلاه صحيحة، أي إذا كانت x تساوي 10. ويمنع الفاصل التنفيذ من الاستمرار في الحالة التالية.
- مقارنة قيمة المتغير x بقيمة 20.
- العبارة التي سيتم تنفيذها إذا كانت الحالة المذكورة أعلاه صحيحة، أي إذا كانت x تساوي 20. ويمنع الفاصل التنفيذ من الاستمرار في الحالة التالية.
- مقارنة قيمة المتغير x بقيمة 30.
- العبارة التي سيتم تنفيذها إذا كانت الحالة المذكورة أعلاه صحيحة، أي إذا كانت x تساوي 30. ويمنع الفاصل التنفيذ من الاستمرار في الحالة التالية.
- يساعدنا الإعداد الافتراضي في تحديد ما يجب فعله إذا كانت قيمة المتغير x ليست 10 أو 20 أو 30.
- البيان الذي سيتم تنفيذه إذا كانت الحالات المذكورة أعلاه غير صحيحة، أي إذا لم تكن x 10 أو 20 أو 30.
- نهاية نص بيان التبديل.
- يجب أن تقوم الدالة main() بإرجاع قيمة إذا كان البرنامج يعمل بشكل جيد.
- نهاية نص الدالة main().
راجع أيضًا مقالتنا حول الفرق بين C و C++:- اضغط هنا
تبديل حالة البرنامج مثال 2
#include <iostream>
using namespace std;
int main() {
int choice;
cout << "Enter 1, 2 or 3: ";
cin >> choice;
switch (choice)
{
case 1:
cout << "Choice 1"; break;
case 2:
cout << "Choice 2"; break;
case 3:
cout << "Choice 3"; break;
default:
cout << "Not 1, 2 or 3"; break;
}
}
الإخراج:
فيما يلي لقطة شاشة للكود:
شرح الكود:
- بما في ذلك ملف رأس iostream في التعليمات البرمجية الخاصة بنا. سيسمح لنا بالقراءة من وحدة التحكم والكتابة إليها.
- تضمين مساحة الاسم std لاستخدام فئاتها ووظائفها دون استدعائها.
- استدعاء الوظيفة الرئيسية () التي يجب إضافة منطق البرنامج بداخلها. تشير العلامة { إلى بداية نص الدالة main().
- الإعلان عن متغير عدد صحيح يسمى الاختيار.
- طباعة بعض النص على وحدة التحكم.
- مطالبة المستخدم بإدخال قيمة الاختيار.
- استخدام عبارة التبديل وتمرير اختيار الوسيطة إليها. ويعني ذلك أننا بحاجة إلى مقارنة قيمة الاختيار المتغير بمجموعة من القيم الأخرى.
- تشير العلامة { إلى بداية جسم التبديل.
- مقارنة قيمة الاختيار المتغير بقيمة 1.
- البيان الذي سيتم تنفيذه إذا كانت الحالة المذكورة أعلاه صحيحة، أي إذا كان الاختيار هو 10. ويمنع الفاصل التنفيذ من الاستمرار في الحالة التالية.
- مقارنة قيمة الاختيار المتغير بقيمة 2.
- البيان الذي سيتم تنفيذه إذا كانت الحالة المذكورة أعلاه صحيحة، أي إذا كان الاختيار هو 2. ويمنع الفاصل التنفيذ من الاستمرار في الحالة التالية.
- مقارنة قيمة الاختيار المتغير بقيمة 3.
- البيان الذي سيتم تنفيذه إذا كانت الحالة المذكورة أعلاه صحيحة، أي إذا كان الاختيار هو 3. ويمنع الفاصل التنفيذ من الاستمرار في الحالة التالية.
- يساعدنا الإعداد الافتراضي في تحديد ما يجب فعله إذا كانت قيمة اختيار المتغير ليست 1 أو 2 أو 3.
- البيان الذي سيتم تنفيذه إذا كانت الحالات المذكورة أعلاه غير صحيحة، أي إذا لم يكن الاختيار 1 أو 2 أو 3.
- نهاية نص بيان التبديل.
- نهاية نص الدالة main().
ملخص
- تساعدنا عبارة التبديل على إنشاء سلم if…else…if بسيط.
- يحتوي بيان التبديل على بناء جملة واضح وبسيط من if…else…if سلم.
- يجب استخدام عبارة التبديل عندما تحتاج إلى مقارنة قيمة متغير بمجموعة من القيم الأخرى.
- تتم إضافة القيم إلى بيانات الحالة.
- تمنع الكلمات الأساسية الفاصلة التنفيذ من الاستمرار إلى الحالة التالية.
- يتم استخدام جزء افتراضي اختياري لتوضيح الإجراء الذي سيتم اتخاذه في حالة عدم مطابقة أي حالة.


