Ajouter un article
Fait partie de la section Logique & Flux du Journey Rust de Coddy. Leçon 50 sur 66.
Défi
FacileVous 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
HashMapdepuisstd::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
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 finalEntraînez-vous par vous-même : Compilateur Rust en ligne