Menu
Coddy logo textTech

Récapitulatif - Validateur de profil utilisateur

Fait partie de la section Logic & Flow du Journey Rust de Coddy — leçon 65 sur 66.

challenge icon

Défi

Facile

Vous recevrez trois entrées représentant un profil utilisateur. La première entrée est un nom d'utilisateur (username), la deuxième est un âge (age), et la troisième est une adresse e-mail (email). Validez le profil selon les règles suivantes et affichez le message approprié :

Règles de validation :

  • Le nom d'utilisateur doit comporter au moins 3 caractères
  • L'âge doit être compris entre 13 et 120 (inclus)
  • L'e-mail doit contenir le symbole @

Exigences :

  • Lire l'entrée du nom d'utilisateur et supprimer les espaces blancs (trim)
  • Lire l'entrée de l'âge, supprimer les espaces blancs et l'analyser en i32
  • Lire l'entrée de l'e-mail et supprimer les espaces blancs
  • Vérifier si la longueur du nom d'utilisateur est d'au moins 3 caractères
  • Vérifier si l'âge est compris entre 13 et 120 (utiliser match avec des plages)
  • Vérifier si l'e-mail contient le caractère @ (utiliser la méthode .contains())
  • Si toutes les validations réussissent, afficher : Valid profile
  • Si le nom d'utilisateur est trop court, afficher : Invalid username
  • Si l'âge est hors de portée, afficher : Invalid age
  • Si l'e-mail ne contient pas @, afficher : Invalid email
  • Vérifier les validations dans l'ordre : d'abord le nom d'utilisateur, puis l'âge, puis l'e-mail

Entrée :

  • Première ligne : Un nom d'utilisateur (par exemple, alice123)
  • Deuxième ligne : Un âge (par exemple, 25)
  • Troisième ligne : Une adresse e-mail (par exemple, alice@example.com)

Sortie :

  • L'un des messages suivants : Valid profile, Invalid username, Invalid age, ou Invalid email

Essayez vous-même

use std::io;

fn main() {
    // Lire l'entrée du nom d'utilisateur
    let mut username = String::new();
    io::stdin().read_line(&mut username).expect("Failed to read line");
    let username = username.trim();
    
    // Lire l'entrée de l'âge
    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");
    
    // Lire l'entrée de l'e-mail
    let mut email = String::new();
    io::stdin().read_line(&mut email).expect("Failed to read line");
    let email = email.trim();
    
    // TODO: Écrivez votre code ci-dessous pour valider le profil
    // Vérifier la longueur du nom d'utilisateur, la tranche d'âge et le format de l'e-mail
    // Afficher le message approprié en fonction des résultats de la validation
    
}

Toutes les leçons de Logic & Flow