Podsumowanie — utwórz strukturę Book
Część sekcji Logika i przepływ programu ścieżki Rust w Coddy. Lekcja 26 z 66.
Wyzwanie
ŁatwyOtrzymasz cztery dane wejściowe: tytuł książki, imię i nazwisko autora, rok publikacji (jako liczbę całkowitą) oraz liczbę stron (jako liczbę całkowitą). Zdefiniuj strukturę Book z czterema polami: title typu String, author typu String, year typu i32 oraz pages typu i32. Utwórz instancję tej struktury, używając wartości wejściowych, i wypisz informacje o książce.
Wymagania:
- Zdefiniuj strukturę
Bookz polami:title: String,author: String,year: i32orazpages: i32 - Odczytaj pierwszą linię wejściową jako tytuł książki
- Odczytaj drugą linię wejściową jako imię i nazwisko autora
- Odczytaj trzecią linię wejściową i przekonwertuj ją na
i32, aby uzyskać rok publikacji - Odczytaj czwartą linię wejściową i przekonwertuj ją na
i32, aby uzyskać liczbę stron - Utwórz instancję struktury
Bookz tymi wartościami - Wypisz informacje o książce w dokładnym formacie pokazanym poniżej
Dane wejściowe:
- Pierwsza linia: tytuł książki (np.
The Rust Programming Language) - Druga linia: imię i nazwisko autora (np.
Steve Klabnik) - Trzecia linia: rok publikacji jako liczba całkowita (np.
2018) - Czwarta linia: liczba stron jako liczba całkowita (np.
552)
Dane wyjściowe:
- Pierwsza linia:
Book: [title] - Druga linia:
Author: [author] - Trzecia linia:
Year: [year] - Czwarta linia:
Pages: [pages]
Spróbuj swoich sił
use std::io;
// TODO: Zdefiniuj tutaj strukturę Book z polami: title, author, year i pages
fn main() {
// Wczytaj tytuł książki
let mut title = String::new();
io::stdin().read_line(&mut title).expect("Failed to read line");
let title = title.trim().to_string();
// Wczytaj imię i nazwisko autora
let mut author = String::new();
io::stdin().read_line(&mut author).expect("Failed to read line");
let author = author.trim().to_string();
// Wczytaj rok publikacji
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");
// Wczytaj liczbę stron
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: Utwórz instancję struktury Book, używając wczytanych wartości
// TODO: Wypisz informacje o książce w wymaganym formacie
}Wszystkie lekcje w sekcji Logika i przepływ programu
1Zaawansowane sterowanie przepływem
Wyrażenie „match”Dopasowywanie wielu wartościDopasowywanie zakresówWyrażenie „if let”Pętle jako wyrażeniaPodsumowanie — prosty parser poleceń4Grupowanie danych za pomocą struktur
Czym jest struktura?Przegląd strukturDostęp do pól strukturyModyfikowalne strukturyStruktury jako parametry funkcjiStruktury krotkowePodsumowanie — utwórz strukturę Book2Wprowadzenie do wektorów
Czym jest wektor?Tworzenie wektoraDodawanie elementów za pomocą pushDostęp do elementów wektoraIterowanie po wektorzeIterowanie z możliwością modyfikacjiUsuwanie elementówPodsumowanie — prosty licznik punktów5Pary klucz–wartość z mapami hashującymi
Czym jest mapa haszująca?Tworzenie mapy haszującejWstawianie par klucz–wartośćDostęp do wartościIterowanie po mapie haszującejAktualizowanie wartościUsuwanie paryPodsumowanie – licznik słów8Projekt: Prosty system inwentaryzacji
Konfiguracja projektuDodawanie produktuSprawdzanie stanu magazynowegoSprzedaż produktuŁączenie wszystkiego w całość3Lista zadań w wierszu poleceń
Konfiguracja projektuDodawanie zadaniaWyświetlanie wszystkich zadańUsuwanie zadaniaKońcowy kodPoćwicz samodzielnie: Kompilator Rust online