Ajouter un article
Fait partie de la section Logic & Flow du Journey Rust de Coddy — leçon 50 sur 66.
Défi
FacileVous 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
HashMapdepuisstd::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
1Structures de contrôle avancées
L'expression 'match'Filtrage de plusieurs valeursFiltrage d'intervallesL'expression 'if let'Les boucles en tant qu'expressionsRécapitulatif - Analyseur de commandes simple4Regrouper des données avec les structures
Qu'est-ce qu'une structure ?Aperçu des structuresAccéder aux champs d'une structureStructures mutablesLes structures comme paramètres de fonctionStructures tupleRécapitulatif - Créer une structure Book2Introduction aux vecteurs
Qu'est-ce qu'un vecteur ?Créer un vecteurAjouter des éléments avec pushAccéder aux éléments d'un vecteurItérer sur un vecteurItération mutableSupprimer des élémentsRécapitulatif - Suivi de score basique5Paires clé-valeur avec les Hash Maps
Qu'est-ce qu'une Hash Map ?Créer une Hash MapInsérer des paires clé-valeurAccéder aux valeursParcourir une Hash MapMettre à jour une valeurSupprimer une paireRécapitulatif - Compteur de mots8Projet : Inventaire d'articles simple
Configuration du projetAjouter un articleVérifier le stockVendre un articleAssembler le tout3Liste de tâches en ligne de commande
Configuration du projetAjouter une tâcheAfficher toutes les tâchesSupprimer une tâcheCode final