Menu
CoddyTech

Rangkuman: Validator Profil Pengguna

Termasuk bagian Logika dan Alur dalam perjalanan Rust di Coddy. Pelajaran 65 dari 66.

challenge icon

Tantangan

Mudah

Kamu akan menerima tiga input yang merepresentasikan profil pengguna. Input pertama adalah nama pengguna, input kedua adalah usia, dan input ketiga adalah alamat email. Validasi profil sesuai aturan berikut dan cetak pesan yang sesuai:

Aturan Validasi:

  • Nama pengguna harus memiliki panjang minimal 3 karakter
  • Usia harus berada antara 13 dan 120 (inklusif)
  • Email harus memuat simbol @

Persyaratan:

  • Baca input nama pengguna dan hapus spasi di awal dan akhir
  • Baca input usia, hapus spasi di awal dan akhir, lalu parsing menjadi i32
  • Baca input email dan hapus spasi di awal dan akhir
  • Periksa apakah panjang nama pengguna minimal 3 karakter
  • Periksa apakah usia berada dalam rentang 13 hingga 120 (gunakan match dengan rentang)
  • Periksa apakah email memuat karakter @ (gunakan method .contains())
  • Jika semua validasi berhasil, cetak: Valid profile
  • Jika nama pengguna terlalu pendek, cetak: Invalid username
  • Jika usia di luar rentang, cetak: Invalid age
  • Jika email tidak memuat @, cetak: Invalid email
  • Periksa validasi secara berurutan: nama pengguna terlebih dahulu, lalu usia, kemudian email

Input:

  • Baris pertama: Nama pengguna (misalnya, alice123)
  • Baris kedua: Usia (misalnya, 25)
  • Baris ketiga: Alamat email (misalnya, alice@example.com)

Output:

  • Salah satu dari: Valid profile, Invalid username, Invalid age, atau Invalid email

Coba sendiri

use std::io;

fn main() {
    // Baca input username
    let mut username = String::new();
    io::stdin().read_line(&mut username).expect("Failed to read line");
    let username = username.trim();
    
    // Baca input usia
    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");
    
    // Baca input email
    let mut email = String::new();
    io::stdin().read_line(&mut email).expect("Failed to read line");
    let email = email.trim();
    
    // TODO: Tulis kodemu di bawah ini untuk memvalidasi profil
    // Periksa panjang username, rentang usia, dan format email
    // Tampilkan pesan yang sesuai berdasarkan hasil validasi
    
}

Semua pelajaran di Logika dan Alur

Latihan sendiri: Compiler Rust online