Rangkuman: Validator Profil Pengguna
Termasuk bagian Logika dan Alur dalam perjalanan Rust di Coddy. Pelajaran 65 dari 66.
Tantangan
MudahKamu 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
matchdengan 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, atauInvalid 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
1Alur Kontrol Lanjutan
Ekspresi 'match'Mencocokkan Beberapa NilaiMencocokkan RentangEkspresi 'if let'Perulangan sebagai EkspresiRangkuman, Parser Perintah Sederhana4Mengelompokkan Data dengan Struct
Apa Itu Struct?Ringkasan StructMengakses Field StructStruct yang Dapat DiubahStruct sebagai Parameter FungsiStruct TupleRangkuman: Buat Struct Buku2Pengantar Vektor
Apa Itu Vektor?Membuat VektorMenambahkan Elemen dengan pushMengakses Elemen VektorMelakukan Iterasi pada VektorIterasi MutableMenghapus ElemenRangkuman: Pelacak Skor Dasar5Pasangan Kunci-Nilai dengan Hash Map
Apa Itu Hash Map?Membuat Hash MapMenyisipkan Pasangan Kunci-NilaiMengakses NilaiMenelusuri Hash MapMemperbarui NilaiMenghapus PasanganRangkuman: Penghitung Kata8Proyek: Inventaris Barang Sederhana
Menyiapkan ProyekMenambahkan BarangMemeriksa StokMenjual BarangMenyatukan Semuanya3Daftar Tugas Baris Perintah
Penyiapan ProyekMenambahkan TugasMelihat Semua TugasMenghapus TugasKode AkhirLatihan sendiri: Compiler Rust online