جمل If - Else المتداخلة
جزء من قسم Fundamentals في رحلة C++ على Coddy — الدرس 32 من 74.
يمكننا تداخل جمل if-elif-else داخل بعضها البعض. يتيح لنا ذلك إنشاء هياكل اتخاذ قرار هرمية.
على سبيل المثال:
if (age > 18) {
if (hasLicense) {
std::cout << "You can drive";
} else {
std::cout << "Get a license first";
}
} else {
std::cout << "Too young to drive";
}يمكن أن يكون متداخلاً بشكل لا نهائي:
if (condition1) {
if (condition2) {
if (condition3) {
// إذا كانت condition1 و condition2 و condition3 صحيحة
}
}
}التحدي
مبتدئقم بإنشاء برنامج يتحقق مما إذا كان بإمكان شخص ما ركوب الأفعوانية (rollercoaster). المتطلبات هي:
- يجب أن يكون العمر 12 عاماً على الأقل
- يجب أن يكون الطول أكثر من 150 سم
- إذا استوفوا كلا الشرطين ولكن كان عمرهم أقل من 15 عاماً، فهم بحاجة إلى إشراف شخص بالغ
اطبع هذه الرسائل تماماً لكل حالة:
- إذا كان صغيراً جداً:
Sorry, you are too young - إذا لم يكن طويلاً بما يكفي:
Sorry, you are not tall enough - إذا كان أقل من 15 عاماً ولا يوجد مرافق بالغ:
Sorry, you need an adult with you - إذا كان أقل من 15 عاماً مع وجود مرافق بالغ:
You can ride with adult supervision! - إذا كان 15 عاماً أو أكثر وطويلاً بما يكفي:
You can ride by yourself!
ورقة مرجعية
يمكنك تداخل جمل if-elif-else داخل بعضها البعض لإنشاء هياكل اتخاذ قرار هرمية:
if (age > 18) {
if (hasLicense) {
std::cout << "You can drive";
} else {
std::cout << "Get a license first";
}
} else {
std::cout << "Too young to drive";
}يمكن إجراء التداخل بشكل لا نهائي:
if (condition1) {
if (condition2) {
if (condition3) {
// إذا كانت condition1 و condition2 و condition3 صحيحة
}
}
}جرّب بنفسك
#include <iostream>
int main() {
int age, height;
bool hasAdult;
std::cin >> age >> height >> hasAdult; // لا تغير هذا السطر
// اكتب كودك بالأسفل
return 0;
}يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Fundamentals
4المعاملات - الجزء الأول
المعاملات الحسابيةمعامل باقي القسمة (Modulo)الزيادة والنقصانالزيادة والنقصان اللاحقةاختصارات العمليات الحسابيةمعاملات المقارنةمقارنة النصوص