Rangkuman: Buat Struct Buku
Termasuk bagian Logika dan Alur dalam perjalanan Rust di Coddy. Pelajaran 26 dari 66.
Tantangan
MudahKamu akan menerima empat input: judul buku, nama penulis, tahun terbit (sebagai bilangan bulat), dan jumlah halaman (sebagai bilangan bulat). Definisikan struct Book dengan empat field: title bertipe String, author bertipe String, year bertipe i32, dan pages bertipe i32. Buat sebuah instance struct ini menggunakan nilai input, lalu cetak informasi buku.
Persyaratan:
- Definisikan struct
Bookdengan field:title: String,author: String,year: i32, danpages: i32 - Baca input pertama sebagai judul buku
- Baca input kedua sebagai nama penulis
- Baca input ketiga dan konversikan ke
i32untuk tahun terbit - Baca input keempat dan konversikan ke
i32untuk jumlah halaman - Buat sebuah instance struct
Bookdengan nilai-nilai ini - Cetak informasi buku dengan format persis seperti yang ditunjukkan di bawah ini
Input:
- Baris pertama: Judul buku (misalnya,
The Rust Programming Language) - Baris kedua: Nama penulis (misalnya,
Steve Klabnik) - Baris ketiga: Tahun terbit sebagai bilangan bulat (misalnya,
2018) - Baris keempat: Jumlah halaman sebagai bilangan bulat (misalnya,
552)
Output:
- Baris pertama:
Book: [title] - Baris kedua:
Author: [author] - Baris ketiga:
Year: [year] - Baris keempat:
Pages: [pages]
Coba sendiri
use std::io;
// TODO: Definisikan struct Book di sini dengan field: title, author, year, dan pages
fn main() {
// Baca judul buku
let mut title = String::new();
io::stdin().read_line(&mut title).expect("Failed to read line");
let title = title.trim().to_string();
// Baca nama penulis
let mut author = String::new();
io::stdin().read_line(&mut author).expect("Failed to read line");
let author = author.trim().to_string();
// Baca tahun terbit
let mut year_input = String::new();
io::stdin().read_line(&mut year_input).expect("Failed to read line");
let year: i32 = year_input.trim().parse().expect("Failed to parse year");
// Baca jumlah halaman
let mut pages_input = String::new();
io::stdin().read_line(&mut pages_input).expect("Failed to read line");
let pages: i32 = pages_input.trim().parse().expect("Failed to parse pages");
// TODO: Buat instance dari struct Book menggunakan nilai input
// TODO: Tampilkan informasi buku dalam format yang diminta
}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