Zusammenfassung – Ein Buch-Struct erstellen
Teil des Abschnitts Logic & Flow der Rust-Journey von Coddy — Lektion 26 von 66.
Aufgabe
EinfachSie erhalten vier Eingaben: einen Buchtitel, einen Autorennamen, ein Erscheinungsjahr (als Ganzzahl) und eine Seitenanzahl (als Ganzzahl). Definieren Sie ein Book-Struct mit vier Feldern: title vom Typ String, author vom Typ String, year vom Typ i32 und pages vom Typ i32. Erstellen Sie eine Instanz dieses Structs unter Verwendung der Eingabewerte und geben Sie die Buchinformationen aus.
Anforderungen:
- Definieren Sie ein
Book-Struct mit den Feldern:title: String,author: String,year: i32undpages: i32 - Lesen Sie die erste Eingabe als Buchtitel ein
- Lesen Sie die zweite Eingabe als Autorennamen ein
- Lesen Sie die dritte Eingabe ein und konvertieren Sie diese in
i32für das Erscheinungsjahr - Lesen Sie die vierte Eingabe ein und konvertieren Sie diese in
i32für die Seitenanzahl - Erstellen Sie eine Instanz des
Book-Structs mit diesen Werten - Geben Sie die Buchinformationen in dem unten gezeigten exakten Format aus
Eingabe:
- Erste Zeile: Buchtitel (z. B.
The Rust Programming Language) - Zweite Zeile: Autorenname (z. B.
Steve Klabnik) - Dritte Zeile: Erscheinungsjahr als Ganzzahl (z. B.
2018) - Vierte Zeile: Seitenanzahl als Ganzzahl (z. B.
552)
Ausgabe:
- Erste Zeile:
Book: [title] - Zweite Zeile:
Author: [author] - Dritte Zeile:
Year: [year] - Vierte Zeile:
Pages: [pages]
Probier es selbst
use std::io;
// TODO: Definieren Sie hier die Book-Struktur mit den Feldern: title, author, year und pages
fn main() {
// Buchtitel lesen
let mut title = String::new();
io::stdin().read_line(&mut title).expect("Failed to read line");
let title = title.trim().to_string();
// Autorennamen lesen
let mut author = String::new();
io::stdin().read_line(&mut author).expect("Failed to read line");
let author = author.trim().to_string();
// Erscheinungsjahr lesen
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");
// Seitenzahl lesen
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: Erstellen Sie eine Instanz der Book-Struktur unter Verwendung der Eingabewerte
// TODO: Geben Sie die Buchinformationen im erforderlichen Format aus
}Alle Lektionen in Logic & Flow
1Fortgeschrittener Kontrollfluss
Der 'match'-AusdruckAbgleichen mehrerer WerteBereiche abgleichenDer 'if let'-AusdruckSchleifen als AusdrückeRückblick – Einfacher Befehls-Parser4Daten gruppieren mit Structs
Was ist ein Struct?Übersicht über StructsZugriff auf Struct-FelderVeränderbare StructsStructs als FunktionsparameterTupel-StructsZusammenfassung – Ein Buch-Struct erstellen2Einführung in Vektoren
Was ist ein Vektor?Einen Vektor erstellenElemente mit push hinzufügenZugriff auf Vektor-ElementeÜber einen Vektor iterierenVeränderliche IterationElemente entfernenZusammenfassung – Einfacher Score-Tracker5Schlüssel-Wert-Paare mit Hash Maps
Was ist eine Hash Map?Erstellen einer Hash MapEinfügen von Schlüssel-Wert-PaarenZugreifen auf WerteIterieren über eine Hash MapAktualisieren eines WertesEntfernen eines PaaresZusammenfassung – Wortzähler8Projekt: Einfaches Artikelinventar
Projekt-SetupEinen Artikel hinzufügenLagerbestand prüfenEinen Artikel verkaufenAlles zusammenfügen11Abschluss-Herausforderungen
Wiederholung - Einzigartige ElementeWiederholung - Benutzerprofil-ValidatorWiederholung - Noten-Zusammenfassung3Kommandozeilen-To-Do-Liste
Projekt-SetupEine Aufgabe hinzufügenAlle Aufgaben anzeigenEine Aufgabe entfernenFinaler Code