Rust Grundlagen auf dem PC · Teil 19TutorialEinsteiger

Rust

Rust Grundlagen 19: Benutzereingaben

Interaktive Konsolenprogramme. Verständliche Rust-Lektion mit Beispielen, Übung und Musterlösung.

Kapitel: Praktische Anwendungen

Veröffentlicht am

Teil 19: Benutzereingaben

Lernziel: Interaktive Konsolenprogramme.

Voraussetzungen: Die vorherigen Lektionen, insbesondere Teil 18.

Worum geht es?

Mit der Standardbibliothek kannst du Eingaben über die Konsole lesen und auswerten.

Schritt für Schritt

use std::io::{self, Write};

fn main() {
    print!("Temperatur in °C: ");
    io::stdout().flush().expect("Ausgabe fehlgeschlagen");
    let mut eingabe = String::new();
    io::stdin().read_line(&mut eingabe).expect("Lesefehler");

    let temperatur: f64 = match eingabe.trim().parse() {
        Ok(wert) => wert,
        Err(_) => {
            eprintln!("Bitte eine gültige Zahl eingeben.");
            return;
        }
    };
    println!("{temperatur:.1} °C = {:.1} °F", temperatur * 1.8 + 32.0);
}

read_line() ergänzt Eingabetext in einem String, meist einschließlich Zeilenende. trim() entfernt führende und abschließende Leerraumzeichen, einschließlich Zeilenende.

flush() sorgt dafür, dass der Prompt auch ohne Zeilenumbruch sichtbar wird.

Tipp: Eine Eingabe sollte immer geprüft werden, bevor sie für Berechnungen genutzt wird.

Selbst ausprobieren

Frage nach Länge und Breite eines Rechtecks und berechne die Fläche. Bei ungültiger Eingabe soll eine Fehlermeldung erscheinen.

Musterlösung anzeigen
use std::io::{self, Write};
fn zahl(frage: &str) -> Option<f64> {
    print!("{frage}: ");
    io::stdout().flush().ok()?;
    let mut s = String::new();
    io::stdin().read_line(&mut s).ok()?;
    s.trim().parse().ok()
}
fn main() {
    match (zahl("Länge"), zahl("Breite")) {
        (Some(l), Some(b)) => println!("Fläche: {}", l * b),
        _ => eprintln!("Ungültige Eingabe"),
    }
}

Das solltest du mitnehmen

  • Interaktive Konsolenprogramme.
  • Nutze cargo run für das Ausführen und cargo check für eine schnelle Fehlerprüfung (ab Teil 4).
  • Experimentiere mit veränderten Werten und beobachte die Compilermeldungen.

Weiterführende Quellen


← Vorheriger Teil | Kursübersicht | Nächster Teil →