Menu
Coddy logo textTech

Récapitulatif - Validateur de profil utilisateur

Fait partie de la section Logique & Flux 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, la deuxième est un âge et la troisième est une adresse e-mail. 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’adresse e-mail doit contenir le symbole @

Exigences :

  • Lisez l’entrée du nom d’utilisateur et supprimez les espaces superflus
  • Lisez l’entrée de l’âge, supprimez les espaces superflus et analysez-la en i32
  • Lisez l’entrée de l’adresse e-mail et supprimez les espaces superflus
  • Vérifiez que la longueur du nom d’utilisateur est d’au moins 3 caractères
  • Vérifiez que l’âge se situe dans l’intervalle de 13 à 120 (utilisez match avec des intervalles)
  • Vérifiez que l’adresse e-mail contient le caractère @ (utilisez la méthode .contains())
  • Si toutes les validations réussissent, affichez : Valid profile
  • Si le nom d’utilisateur est trop court, affichez : Invalid username
  • Si l’âge est en dehors de l’intervalle, affichez : Invalid age
  • Si l’adresse e-mail ne contient pas @, affichez : Invalid email
  • Vérifiez les validations dans l’ordre : d’abord le nom d’utilisateur, puis l’âge, puis l’adresse 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 Logique & Flux

Entraînez-vous par vous-même : Compilateur Rust en ligne