Menu
Coddy logo textTech

Повторение — Валидатор профиля пользователя

Часть раздела Logic & Flow путешествия по Rust на Coddy — урок 65 из 66.

challenge icon

Задание

Легко

Вы получите три входных значения, представляющих профиль пользователя. Первое значение — это имя пользователя, второе — возраст, а третье — адрес электронной почты. Проверьте профиль в соответствии со следующими правилами и выведите соответствующее сообщение:

Правила валидации:

  • Имя пользователя должно содержать не менее 3 символов
  • Возраст должен быть от 13 до 120 (включительно)
  • Email должен содержать символ @

Требования:

  • Считайте ввод имени пользователя и удалите лишние пробелы (trim)
  • Считайте ввод возраста, удалите лишние пробелы и преобразуйте его в i32
  • Считайте ввод email и удалите лишние пробелы
  • Проверьте, что длина имени пользователя составляет не менее 3 символов
  • Проверьте, находится ли возраст в диапазоне от 13 до 120 (используйте match с диапазонами)
  • Проверьте, содержит ли email символ @ (используйте метод .contains())
  • Если все проверки пройдены, выведите: Valid profile
  • Если имя пользователя слишком короткое, выведите: Invalid username
  • Если возраст вне диапазона, выведите: Invalid age
  • Если email не содержит @, выведите: Invalid email
  • Выполняйте проверки по порядку: сначала имя пользователя, затем возраст, затем email

Ввод:

  • Первая строка: Имя пользователя (например, alice123)
  • Вторая строка: Возраст (например, 25)
  • Третья строка: Адрес электронной почты (например, alice@example.com)

Вывод:

  • Одно из: Valid profile, Invalid username, Invalid age или Invalid email

Попробуйте сами

use std::io;

fn main() {
    // Чтение имени пользователя
    let mut username = String::new();
    io::stdin().read_line(&mut username).expect("Failed to read line");
    let username = username.trim();
    
    // Чтение возраста
    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");
    
    // Чтение email
    let mut email = String::new();
    io::stdin().read_line(&mut email).expect("Failed to read line");
    let email = email.trim();
    
    // TODO: Напишите ниже код для валидации профиля
    // Проверьте длину имени пользователя, возрастной диапазон и формат email
    // Выведите соответствующее сообщение на основе результатов валидации
    
}

Все уроки раздела Logic & Flow