Menu
Coddy logo textTech

Riepilogo - Creare una struct Book

Fa parte della sezione Logica e flusso del percorso Rust di Coddy. Lezione 26 di 66.

challenge icon

Sfida

Facile

Riceverai quattro input: il titolo di un libro, il nome dell’autore, l’anno di pubblicazione (come intero) e il numero di pagine (come intero). Definisci una struct Book con quattro campi: title di tipo String, author di tipo String, year di tipo i32 e pages di tipo i32. Crea un’istanza di questa struct usando i valori di input e stampa le informazioni sul libro.

Requisiti:

  • Definisci una struct Book con i campi: title: String, author: String, year: i32 e pages: i32
  • Leggi il primo input come titolo del libro
  • Leggi il secondo input come nome dell’autore
  • Leggi il terzo input e convertilo in i32 per l’anno di pubblicazione
  • Leggi il quarto input e convertilo in i32 per il numero di pagine
  • Crea un’istanza della struct Book con questi valori
  • Stampa le informazioni sul libro nel formato esatto mostrato di seguito

Input:

  • Prima riga: titolo del libro (ad es., The Rust Programming Language)
  • Seconda riga: nome dell’autore (ad es., Steve Klabnik)
  • Terza riga: anno di pubblicazione come intero (ad es., 2018)
  • Quarta riga: numero di pagine come intero (ad es., 552)

Output:

  • Prima riga: Book: [title]
  • Seconda riga: Author: [author]
  • Terza riga: Year: [year]
  • Quarta riga: Pages: [pages]

Provalo tu

use std::io;

// TODO: Definisci qui la struct Book con i campi: title, author, year e pages

fn main() {
    // Leggi il titolo del libro
    let mut title = String::new();
    io::stdin().read_line(&mut title).expect("Failed to read line");
    let title = title.trim().to_string();
    
    // Leggi il nome dell'autore
    let mut author = String::new();
    io::stdin().read_line(&mut author).expect("Failed to read line");
    let author = author.trim().to_string();
    
    // Leggi l'anno di pubblicazione
    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");
    
    // Leggi il numero di pagine
    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: Crea un'istanza della struct Book usando i valori di input
    
    // TODO: Stampa le informazioni sul libro nel formato richiesto
}

Tutte le lezioni di Logica e flusso

Esercitati da solo: Compilatore Rust online