Menu
Coddy logo textTech

Revisão - Validador de Perfil de Usuário

Parte da seção Logic & Flow do Journey de Rust da Coddy — lição 65 de 66.

challenge icon

Desafio

Fácil

Você receberá três entradas representando um perfil de usuário. A primeira entrada é um nome de usuário, a segunda é uma idade e a terceira é um endereço de e-mail. Valide o perfil de acordo com as seguintes regras e imprima a mensagem apropriada:

Regras de Validação:

  • O nome de usuário deve ter pelo menos 3 caracteres
  • A idade deve estar entre 13 e 120 (inclusive)
  • O e-mail deve conter o símbolo @

Requisitos:

  • Leia a entrada do nome de usuário e remova os espaços em branco (trim)
  • Leia a entrada da idade, remova os espaços em branco e converta para i32
  • Leia a entrada do e-mail e remova os espaços em branco
  • Verifique se o comprimento do nome de usuário é de pelo menos 3 caracteres
  • Verifique se a idade está no intervalo de 13 a 120 (use match com intervalos)
  • Verifique se o e-mail contém o caractere @ (use o método .contains())
  • Se todas as validações passarem, imprima: Valid profile
  • Se o nome de usuário for muito curto, imprima: Invalid username
  • Se a idade estiver fora do intervalo, imprima: Invalid age
  • Se o e-mail não contiver @, imprima: Invalid email
  • Verifique as validações na ordem: primeiro o nome de usuário, depois a idade e, por fim, o e-mail

Input:

  • Primeira linha: Um nome de usuário (ex: alice123)
  • Segunda linha: Uma idade (ex: 25)
  • Terceira linha: Um endereço de e-mail (ex: alice@example.com)

Output:

  • Um de: Valid profile, Invalid username, Invalid age, ou Invalid email

Experimente você mesmo

use std::io;

fn main() {
    // Ler a entrada do nome de usuário
    let mut username = String::new();
    io::stdin().read_line(&mut username).expect("Failed to read line");
    let username = username.trim();
    
    // Ler a entrada da idade
    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");
    
    // Ler a entrada do e-mail
    let mut email = String::new();
    io::stdin().read_line(&mut email).expect("Failed to read line");
    let email = email.trim();
    
    // TODO: Escreva seu código abaixo para validar o perfil
    // Verifique o comprimento do nome de usuário, a faixa etária e o formato do e-mail
    // Imprima a mensagem apropriada com base nos resultados da validação
    
}

Todas as lições de Logic & Flow