Menu
Coddy logo textTech

Aggiungere un articolo

Fa parte della sezione Logica e flusso del percorso Rust di Coddy. Lezione 50 di 66.

challenge icon

Sfida

Facile

Riceverai tre input. Il primo input è il nome di un articolo, il secondo è il prezzo dell'articolo e il terzo è la quantità iniziale in magazzino. Crea una HashMap per memorizzare i dati dell'inventario, in cui la chiave è il nome dell'articolo e il valore è una tupla contenente il prezzo e la quantità (f64, i32). Aggiungi l'articolo all'inventario e stampa un messaggio di conferma seguito dai dettagli dell'inventario attuale.

Requisiti:

  • Importa HashMap da std::collections
  • Leggi il primo input (nome dell'articolo) e rimuovi gli spazi bianchi
  • Leggi il secondo input (prezzo) e rimuovi gli spazi bianchi
  • Converti il prezzo in f64
  • Leggi il terzo input (quantità) e rimuovi gli spazi bianchi
  • Converti la quantità in i32
  • Crea una HashMap<String, (f64, i32)> mutabile per l'inventario
  • Inserisci l'articolo nell'inventario con il prezzo e la quantità come tupla
  • Stampa: Added [item_name] to inventory
  • Stampa: Price: $[price]
  • Stampa: Quantity: [quantity]

Input:

  • Prima riga: nome dell'articolo (ad esempio, Laptop)
  • Seconda riga: prezzo come numero (ad esempio, 999.99)
  • Terza riga: quantità come numero (ad esempio, 15)

Output:

  • Prima riga: Added [item_name] to inventory
  • Seconda riga: Price: $[price]
  • Terza riga: Quantity: [quantity]

Provalo tu

use std::collections::HashMap;
use std::io;

fn main() {
    // Leggi il nome dell'articolo
    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();
    
    // Leggi il prezzo
    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");
    
    // Leggi la quantità
    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: Scrivi il tuo codice qui sotto
    // Crea una HashMap per memorizzare l'inventario
    // Aggiungi l'articolo all'inventario
    // Stampa i messaggi di conferma
    
}

Tutte le lezioni di Logica e flusso

Esercitati da solo: Compilatore Rust online