Menu
Coddy logo textTech

Repaso - Validador de perfiles de usuario

Parte de la sección Logic & Flow del Journey de Rust de Coddy — lección 65 de 66.

challenge icon

Desafío

Fácil

Recibirás tres entradas que representan un perfil de usuario. La primera entrada es un nombre de usuario, la segunda es una edad y la tercera es una dirección de correo electrónico. Valida el perfil de acuerdo con las siguientes reglas e imprime el mensaje correspondiente:

Reglas de validación:

  • El nombre de usuario debe tener al menos 3 caracteres de longitud
  • La edad debe estar entre 13 y 120 (inclusive)
  • El correo electrónico debe contener el símbolo @

Requisitos:

  • Lee la entrada del nombre de usuario y elimina los espacios en blanco (trim)
  • Lee la entrada de la edad, elimina los espacios en blanco y conviértela (parse) a i32
  • Lee la entrada del correo electrónico y elimina los espacios en blanco
  • Comprueba si la longitud del nombre de usuario es de al menos 3 caracteres
  • Comprueba si la edad está en el rango de 13 a 120 (usa match con rangos)
  • Comprueba si el correo electrónico contiene el carácter @ (usa el método .contains())
  • Si todas las validaciones pasan, imprime: Valid profile
  • Si el nombre de usuario es demasiado corto, imprime: Invalid username
  • Si la edad está fuera de rango, imprime: Invalid age
  • Si el correo electrónico no contiene @, imprime: Invalid email
  • Verifica las validaciones en orden: primero el nombre de usuario, luego la edad y después el correo electrónico

Entrada:

  • Primera línea: Un nombre de usuario (por ejemplo, alice123)
  • Segunda línea: Una edad (por ejemplo, 25)
  • Tercera línea: Una dirección de correo electrónico (por ejemplo, alice@example.com)

Salida:

  • Uno de los siguientes: Valid profile, Invalid username, Invalid age o Invalid email

Pruébalo tú mismo

use std::io;

fn main() {
    // Leer la entrada del nombre de usuario
    let mut username = String::new();
    io::stdin().read_line(&mut username).expect("Failed to read line");
    let username = username.trim();
    
    // Leer la entrada de la edad
    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");
    
    // Leer la entrada del correo electrónico
    let mut email = String::new();
    io::stdin().read_line(&mut email).expect("Failed to read line");
    let email = email.trim();
    
    // TODO: Escribe tu código a continuación para validar el perfil
    // Comprobar la longitud del nombre de usuario, el rango de edad y el formato del correo electrónico
    // Imprimir el mensaje apropiado basado en los resultados de la validación
    
}

Todas las lecciones de Logic & Flow