Menu
Coddy logo textTech

Ripasso - Validatore del profilo utente

Fa parte della sezione Logica e flusso del percorso Rust di Coddy. Lezione 65 di 66.

challenge icon

Sfida

Facile

Riceverai tre input che rappresentano un profilo utente. Il primo input è un nome utente, il secondo è un'età e il terzo è un indirizzo email. Convalida il profilo secondo le seguenti regole e stampa il messaggio appropriato:

Regole di convalida:

  • Il nome utente deve essere lungo almeno 3 caratteri
  • L'età deve essere compresa tra 13 e 120 (inclusi)
  • L'email deve contenere il simbolo @

Requisiti:

  • Leggi l'input del nome utente e rimuovi gli spazi iniziali e finali
  • Leggi l'input dell'età, rimuovi gli spazi iniziali e finali e analizzalo come i32
  • Leggi l'input dell'email e rimuovi gli spazi iniziali e finali
  • Controlla che la lunghezza del nome utente sia di almeno 3 caratteri
  • Controlla che l'età rientri nell'intervallo da 13 a 120 (usa match con intervalli)
  • Controlla che l'email contenga il carattere @ (usa il metodo .contains())
  • Se tutte le convalide hanno esito positivo, stampa: Valid profile
  • Se il nome utente è troppo corto, stampa: Invalid username
  • Se l'età è fuori dall'intervallo, stampa: Invalid age
  • Se l'email non contiene @, stampa: Invalid email
  • Controlla le convalide in quest'ordine: prima il nome utente, poi l'età e infine l'email

Input:

  • Prima riga: un nome utente (ad es., alice123)
  • Seconda riga: un'età (ad es., 25)
  • Terza riga: un indirizzo email (ad es., alice@example.com)

Output:

  • Uno tra: Valid profile, Invalid username, Invalid age o Invalid email

Provalo tu

use std::io;

fn main() {
    // Leggi l'input di username
    let mut username = String::new();
    io::stdin().read_line(&mut username).expect("Failed to read line");
    let username = username.trim();
    
    // Leggi l'input dell'età
    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");
    
    // Leggi l'input di email
    let mut email = String::new();
    io::stdin().read_line(&mut email).expect("Failed to read line");
    let email = email.trim();
    
    // TODO: Scrivi il tuo codice qui sotto per convalidare il profilo
    // Controlla la lunghezza di username, l'intervallo di età e il formato di email
    // Stampa il messaggio appropriato in base ai risultati della convalida
    
}

Tutte le lezioni di Logica e flusso

Esercitati da solo: Compilatore Rust online