Menu
Coddy logo textTech

Ajouter un article

Fait partie de la section Logique & Flux 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 un nom d’article, la deuxième est le prix de l’article et la troisième 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 actuels de l’inventaire.

Exigences :

  • Importez HashMap depuis std::collections
  • Lisez la première entrée (nom de l’article) et supprimez les espaces
  • Lisez la deuxième entrée (prix) et supprimez les espaces
  • Analysez le prix en f64
  • Lisez la troisième entrée (quantité) et supprimez les espaces
  • Analysez 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 exemple, Laptop)
  • Deuxième ligne : Prix sous forme de nombre (par exemple, 999.99)
  • Troisième ligne : Quantité sous forme de nombre (par exemple, 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 Logique & Flux

Entraînez-vous par vous-même : Compilateur Rust en ligne