Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

جمل If-Else المتداخلة

جزء من قسم Fundamentals في رحلة Rust على Coddy — الدرس 28 من 75.

يمكننا تداخل جمل if-elif-else داخل بعضها البعض. يتيح لنا ذلك إنشاء هياكل اتخاذ قرار هرمية.

على سبيل المثال:

if age > 18 {
    if hasLicense {
        println!("You can drive");
    } else {
        println!("Get a license first");
    }
} else {
    println!("Too young to drive");
}

يمكن أن يكون متداخلاً بشكل لا نهائي:

if condition1 {
	if condition2 {
		if condition3 {
		    // إذا كانت condition1 و condition2 و condition3 صحيحة
		    ...
		}
	}
}
challenge icon

التحدي

مبتدئ

أنشئ برنامجًا يتحقق مما إذا كان بإمكان شخص ما ركوب الأفعوانية. المتطلبات هي:

  • يجب أن يكون العمر 12 عامًا على الأقل
  • يجب أن يكون الطول أكثر من 150 سم
  • إذا استوفوا كلا المتطلبين ولكن كان عمرهم أقل من 15 عامًا، فهم بحاجة إلى إشراف شخص بالغ

اطبع هذه الرسائل تمامًا لكل حالة:

  • إذا كان صغيرًا جدًا: Sorry, you're too young
  • إذا لم يكن طويلًا بما يكفي: Sorry, you're 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 {
        println!("You can drive");
    } else {
        println!("Get a license first");
    }
} else {
    println!("Too young to drive");
}

يمكن إجراء التضمين بشكل غير محدود:

if condition1 {
    if condition2 {
        if condition3 {
            // إذا كانت condition1 و condition2 و condition3 صحيحة
            ...
        }
    }
}

جرّب بنفسك

use std::io;

fn main() {
    let mut age_input = String::new();
    let mut height_input = String::new();
    let mut adult_input = String::new();
    
    io::stdin().read_line(&mut age_input).unwrap();
    io::stdin().read_line(&mut height_input).unwrap();
    io::stdin().read_line(&mut adult_input).unwrap();
    
    let age: i32 = age_input.trim().parse().unwrap();
    let height: i32 = height_input.trim().parse().unwrap();
    let has_adult: bool = adult_input.trim().parse().unwrap();

    // اكتب كودك بالأسفل
    
}
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس Fundamentals