Menu
Coddy logo textTech

Ajouter un article

Fait partie de la section Logic & Flow du Journey Rust de Coddy — leçon 50 sur 66.

challenge icon

Défi

Facile

Vous recevrez trois entrées. La première entrée est le nom d'un article, la deuxième entrée est le prix de l'article, et la troisième entrée est la quantité initiale en stock. Créez une HashMap pour stocker les données d'inventaire où la clé est le nom de l'article et la valeur est un tuple contenant le prix et la quantité (f64, i32). Ajoutez l'article à l'inventaire et affichez un message de confirmation suivi des détails de l'inventaire actuel.

Exigences :

  • Importez HashMap depuis std::collections
  • Lisez la première entrée (nom de l'article) et supprimez les espaces (trim)
  • Lisez la deuxième entrée (prix) et supprimez les espaces (trim)
  • Analysez (parse) le prix en f64
  • Lisez la troisième entrée (quantité) et supprimez les espaces (trim)
  • Analysez (parse) la quantité en i32
  • Créez une HashMap<String, (f64, i32)> mutable pour l'inventaire
  • Insérez l'article dans l'inventaire avec le prix et la quantité sous forme de tuple
  • Affichez : Added [item_name] to inventory
  • Affichez : Price: $[price]
  • Affichez : Quantity: [quantity]

Entrée :

  • Première ligne : Nom de l'article (par ex., Laptop)
  • Deuxième ligne : Prix sous forme de nombre (par ex., 999.99)
  • Troisième ligne : Quantité sous forme de nombre (par ex., 15)

Sortie :

  • Première ligne : Added [item_name] to inventory
  • Deuxième ligne : Price: $[price]
  • Troisième ligne : Quantity: [quantity]

Essayez vous-même

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

fn main() {
    // Lire le nom de l'article
    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();
    
    // Lire le prix
    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");
    
    // Lire 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: Écrivez votre code ci-dessous
    // Créer une HashMap pour stocker l'inventaire
    // Ajouter l'article à l'inventaire
    // Afficher les messages de confirmation
    
}

Toutes les leçons de Logic & Flow