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.
Desafio
FácilVocê 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
matchcom 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, ouInvalid 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
1Fluxo de Controle Avançado
A Expressão 'match'Correspondência de Múltiplos ValoresCorrespondência de IntervalosA Expressão 'if let'Loops como ExpressõesRecapitulação - Parser de Comandos Simples4Agrupando Dados com Structs
O que é uma Struct?Visão Geral de StructsAcessando Campos de uma StructStructs MutáveisStructs como Parâmetros de FunçãoTuple StructsRecapitulação - Criando uma Struct Book2Introdução a Vetores
O que é um Vetor?Criando um VetorAdicionando Elementos com pushAcessando Elementos do VetorIterando sobre um VetorIteração MutávelRemovendo ElementosRecapitulação - Rastreador de Pontuação Básico5Pares Chave-Valor com Hash Maps
O que é um Hash Map?Criando um Hash MapInserindo Pares Chave-ValorAcessando ValoresIterando sobre um Hash MapAtualizando um ValorRemovendo um ParRecapitulação - Contador de Palavras8Projeto: Inventário Simples de Itens
Configuração do ProjetoAdicionando um ItemVerificando o EstoqueVendendo um ItemJuntando tudo11Desafios Finais
Revisão - Itens ÚnicosRevisão - Validador de Perfil de UsuárioRevisão - Sumarizador de Notas3Lista de Tarefas via Linha de Comando
Configuração do ProjetoAdicionando uma TarefaVisualizando Todas as TarefasRemovendo uma TarefaCódigo Final