Menu
Coddy logo textTech

Einen Artikel hinzufügen

Teil des Abschnitts Logic & Flow der Rust-Journey von Coddy — Lektion 50 von 66.

challenge icon

Aufgabe

Einfach

Sie 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 HashMap aus std::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