Einen Artikel hinzufügen
Teil des Abschnitts Logic & Flow der Rust-Journey von Coddy — Lektion 50 von 66.
Aufgabe
EinfachSie erhalten drei Eingaben. Die erste Eingabe ist ein Artikelname, die zweite Eingabe ist der Preis des Artikels und die dritte Eingabe ist die anfängliche Bestandsmenge. Erstellen Sie eine HashMap, um Inventardaten zu speichern, wobei der Schlüssel der Artikelname und der Wert ein Tupel ist, das den Preis und die Menge (f64, i32) enthält. Fügen Sie den Artikel zum Inventar hinzu und geben Sie eine Bestätigungsmeldung gefolgt von den aktuellen Inventardetails aus.
Anforderungen:
- Importieren Sie
HashMapausstd::collections - Lesen Sie die erste Eingabe (Artikelname) und entfernen Sie Leerzeichen (trim)
- Lesen Sie die zweite Eingabe (Preis) und entfernen Sie Leerzeichen (trim)
- Parsen Sie den Preis zu
f64 - Lesen Sie die dritte Eingabe (Menge) und entfernen Sie Leerzeichen (trim)
- Parsen Sie die Menge zu
i32 - Erstellen Sie eine veränderliche
HashMap<String, (f64, i32)>für das Inventar - Fügen Sie den Artikel mit dem Preis und der Menge als Tupel in das Inventar ein
- Geben Sie aus:
Added [item_name] to inventory - Geben Sie aus:
Price: $[price] - Geben Sie aus:
Quantity: [quantity]
Eingabe:
- Erste Zeile: Artikelname (z. B.
Laptop) - Zweite Zeile: Preis als Zahl (z. B.
999.99) - Dritte Zeile: Menge als Zahl (z. B.
15)
Ausgabe:
- Erste Zeile:
Added [item_name] to inventory - Zweite Zeile:
Price: $[price] - Dritte Zeile:
Quantity: [quantity]
Probier es selbst
use std::collections::HashMap;
use std::io;
fn main() {
// Artikelnamen lesen
let mut item_name = String::new();
io::stdin().read_line(&mut item_name).expect("Failed to read line");
let item_name = item_name.trim().to_string();
// Preis lesen
let mut price_input = String::new();
io::stdin().read_line(&mut price_input).expect("Failed to read line");
let price: f64 = price_input.trim().parse().expect("Failed to parse price");
// Menge lesen
let mut quantity_input = String::new();
io::stdin().read_line(&mut quantity_input).expect("Failed to read line");
let quantity: i32 = quantity_input.trim().parse().expect("Failed to parse quantity");
// TODO: Schreiben Sie Ihren Code unten
// Erstellen Sie eine HashMap, um das Inventar zu speichern
// Fügen Sie den Artikel zum Inventar hinzu
// Geben Sie die Bestätigungsmeldungen 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