Menu
Coddy logo textTech

Wiederholung - Benutzerprofil-Validator

Teil des Abschnitts Logic & Flow der Rust-Journey von Coddy — Lektion 65 von 66.

challenge icon

Aufgabe

Einfach

Sie erhalten drei Eingaben, die ein Benutzerprofil darstellen. Die erste Eingabe ist ein Benutzername, die zweite ist ein Alter und die dritte ist eine E-Mail-Adresse. Validieren Sie das Profil gemäß den folgenden Regeln und geben Sie die entsprechende Nachricht aus:

Validierungsregeln:

  • Der Benutzername muss mindestens 3 Zeichen lang sein
  • Das Alter muss zwischen 13 und 120 liegen (einschließlich)
  • Die E-Mail muss das @-Symbol enthalten

Anforderungen:

  • Lesen Sie die Benutzernameneingabe ein und entfernen Sie Leerzeichen am Anfang und Ende (trim)
  • Lesen Sie die Alterseingabe ein, entfernen Sie Leerzeichen und parsen Sie diese zu i32
  • Lesen Sie die E-Mail-Eingabe ein und entfernen Sie Leerzeichen
  • Prüfen Sie, ob die Länge des Benutzernamens mindestens 3 Zeichen beträgt
  • Prüfen Sie, ob das Alter im Bereich von 13 bis 120 liegt (verwenden Sie match mit Bereichen)
  • Prüfen Sie, ob die E-Mail das Zeichen @ enthält (verwenden Sie die Methode .contains())
  • Wenn alle Validierungen erfolgreich sind, geben Sie aus: Valid profile
  • Wenn der Benutzername zu kurz ist, geben Sie aus: Invalid username
  • Wenn das Alter außerhalb des Bereichs liegt, geben Sie aus: Invalid age
  • Wenn die E-Mail kein @ enthält, geben Sie aus: Invalid email
  • Prüfen Sie die Validierungen in der Reihenfolge: zuerst Benutzername, dann Alter, dann E-Mail

Eingabe:

  • Erste Zeile: Ein Benutzername (z. B. alice123)
  • Zweite Zeile: Ein Alter (z. B. 25)
  • Dritte Zeile: Eine E-Mail-Adresse (z. B. alice@example.com)

Ausgabe:

  • Eines von: Valid profile, Invalid username, Invalid age oder Invalid email

Probier es selbst

use std::io;

fn main() {
    // Benutzernamen-Eingabe lesen
    let mut username = String::new();
    io::stdin().read_line(&mut username).expect("Failed to read line");
    let username = username.trim();
    
    // Alters-Eingabe lesen
    let mut age_input = String::new();
    io::stdin().read_line(&mut age_input).expect("Failed to read line");
    let age: i32 = age_input.trim().parse().expect("Failed to parse age");
    
    // E-Mail-Eingabe lesen
    let mut email = String::new();
    io::stdin().read_line(&mut email).expect("Failed to read line");
    let email = email.trim();
    
    // TODO: Schreiben Sie Ihren Code unten, um das Profil zu validieren
    // Benutzernamenlänge, Altersbereich und E-Mail-Format prüfen
    // Die entsprechende Nachricht basierend auf den Validierungsergebnissen ausgeben
    
}

Alle Lektionen in Logic & Flow