Menu
Coddy logo textTech

Verschachteltes If-Else

Teil des Abschnitts Fundamentals der Rust-Journey von Coddy — Lektion 28 von 75.

Wir können if-elif-else-Anweisungen ineinander verschachteln. Dies ermöglicht es uns, hierarchische Entscheidungsstrukturen zu erstellen.

Zum Beispiel:

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

Es kann unendlich tief verschachtelt sein:

if condition1 {
	if condition2 {
		if condition3 {
		    // wenn condition1, condition2 und condition3 wahr sind
		    ...
		}
	}
}
challenge icon

Aufgabe

Anfänger

Erstelle ein Programm, das prüft, ob jemand mit einer Achterbahn fahren darf. Die Anforderungen sind:

  • Muss mindestens 12 Jahre alt sein
  • Muss größer als 150cm sein
  • Wenn beide Anforderungen erfüllt sind, die Person aber unter 15 Jahre alt ist, wird eine erwachsene Begleitperson benötigt

Gib für jeden Fall genau diese Meldungen aus:

  • Wenn zu jung: Sorry, you're too young
  • Wenn nicht groß genug: Sorry, you're not tall enough
  • Wenn unter 15 und ohne Erwachsenen: Sorry, you need an adult with you
  • Wenn unter 15 mit Erwachsenem: You can ride with adult supervision!
  • Wenn 15 oder älter und groß genug: You can ride by yourself!

Spickzettel

Sie können if-elif-else-Anweisungen ineinander verschachteln, um hierarchische Entscheidungsstrukturen zu erstellen:

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

Verschachtelungen können unendlich weit vorgenommen werden:

if condition1 {
    if condition2 {
        if condition3 {
            // wenn condition1, condition2 und condition3 wahr sind
            ...
        }
    }
}

Probier es selbst

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();

    // Schreibe deinen Code unten
    
}
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Fundamentals