Menu
Coddy logo textTech

Recapitulação - Criando uma Struct Book

Parte da seção Logic & Flow do Journey de Rust da Coddy — lição 26 de 66.

challenge icon

Desafio

Fácil

Você receberá quatro entradas: o título de um livro, o nome de um autor, um ano de publicação (como um número inteiro) e um número de páginas (como um número inteiro). Defina uma struct Book com quatro campos: title do tipo String, author do tipo String, year do tipo i32 e pages do tipo i32. Crie uma instância desta struct usando os valores de entrada e imprima as informações do livro.

Requisitos:

  • Defina uma struct Book com os campos: title: String, author: String, year: i32 e pages: i32
  • Leia a primeira entrada como o título do livro
  • Leia a segunda entrada como o nome do autor
  • Leia a terceira entrada e converta-a para i32 para o ano de publicação
  • Leia a quarta entrada e converta-a para i32 para o número de páginas
  • Crie uma instância da struct Book com esses valores
  • Imprima as informações do livro no formato exato mostrado abaixo

Entrada:

  • Primeira linha: Título do livro (ex: The Rust Programming Language)
  • Segunda linha: Nome do autor (ex: Steve Klabnik)
  • Terceira linha: Ano de publicação como um número inteiro (ex: 2018)
  • Quarta linha: Número de páginas como um número inteiro (ex: 552)

Saída:

  • Primeira linha: Book: [title]
  • Segunda linha: Author: [author]
  • Terceira linha: Year: [year]
  • Quarta linha: Pages: [pages]

Experimente você mesmo

use std::io;

// TODO: Defina a struct Book aqui com os campos: title, author, year e pages

fn main() {
    // Ler o título do livro
    let mut title = String::new();
    io::stdin().read_line(&mut title).expect("Failed to read line");
    let title = title.trim().to_string();
    
    // Ler o nome do autor
    let mut author = String::new();
    io::stdin().read_line(&mut author).expect("Failed to read line");
    let author = author.trim().to_string();
    
    // Ler o ano de publicação
    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");
    
    // Ler o número de páginas
    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: Crie uma instância da struct Book usando os valores de entrada
    
    // TODO: Imprima as informações do livro no formato exigido
}

Todas as lições de Logic & Flow