Menu
CoddyTech

Rangkuman: Buat Struct Buku

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

challenge icon

Tantangan

Mudah

Kamu 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 Book dengan field: title: String, author: String, year: i32, dan pages: i32
  • Baca input pertama sebagai judul buku
  • Baca input kedua sebagai nama penulis
  • Baca input ketiga dan konversikan ke i32 untuk tahun terbit
  • Baca input keempat dan konversikan ke i32 untuk jumlah halaman
  • Buat sebuah instance struct Book dengan 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

Latihan sendiri: Compiler Rust online