Menu
Coddy logo textTech

Özet - Bir Kitap Struct'ı Oluşturun

Coddy'nin Rust Journey'sinin Logic & Flow bölümünün bir parçası — ders 26 / 66.

challenge icon

Görev

Kolay

Dört girdi alacaksınız: bir kitap başlığı, bir yazar adı, bir yayın yılı (tam sayı olarak) ve bir sayfa sayısı (tam sayı olarak). Dört alana sahip bir Book yapısı (struct) tanımlayın: String türünde title, String türünde author, i32 türünde year ve i32 türünde pages. Giriş değerlerini kullanarak bu yapının bir örneğini oluşturun ve kitap bilgilerini yazdırın.

Gereksinimler:

  • Şu alanlara sahip bir Book yapısı tanımlayın: title: String, author: String, year: i32 ve pages: i32
  • İlk girdiyi kitap başlığı olarak okuyun
  • İkinci girdiyi yazar adı olarak okuyun
  • Üçüncü girdiyi okuyun ve yayın yılı için i32 türüne dönüştürün
  • Dördüncü girdiyi okuyun ve sayfa sayısı için i32 türüne dönüştürün
  • Bu değerlerle Book yapısının bir örneğini oluşturun
  • Kitap bilgilerini aşağıda gösterilen tam formatta yazdırın

Girdi:

  • İlk satır: Kitap başlığı (örneğin, The Rust Programming Language)
  • İkinci satır: Yazar adı (örneğin, Steve Klabnik)
  • Üçüncü satır: Tam sayı olarak yayın yılı (örneğin, 2018)
  • Dördüncü satır: Tam sayı olarak sayfa sayısı (örneğin, 552)

Çıktı:

  • İlk satır: Book: [title]
  • İkinci satır: Author: [author]
  • Üçüncü satır: Year: [year]
  • Dördüncü satır: Pages: [pages]

Kendin dene

use std::io;

// TODO: Burada title, author, year ve pages alanlarına sahip Book struct'ını tanımlayın

fn main() {
    // Kitap başlığını oku
    let mut title = String::new();
    io::stdin().read_line(&mut title).expect("Failed to read line");
    let title = title.trim().to_string();
    
    // Yazar adını oku
    let mut author = String::new();
    io::stdin().read_line(&mut author).expect("Failed to read line");
    let author = author.trim().to_string();
    
    // Yayın yılını oku
    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");
    
    // Sayfa sayısını oku
    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: Giriş değerlerini kullanarak Book struct'ının bir örneğini oluşturun
    
    // TODO: Kitap bilgilerini istenen formatta yazdırın
}

Logic & Flow bölümündeki tüm dersler