Vérification du stock
Fait partie de la section Logique et Flux du Journey C++ de Coddy — leçon 32 sur 56.
Défi
FacileContinuez à construire votre système de suivi d'inventaire en implémentant la fonctionnalité permettant de vérifier le niveau de stock actuel d'articles spécifiques. Cette leçon démontre comment interroger en toute sécurité une map pour obtenir des informations sur les articles et comment gérer les cas où les articles n'existent pas dans l'inventaire.
Les entrées suivantes seront fournies :
- Un entier
nreprésentant le nombre de requêtes de stock à effectuer - Ensuite,
nchaînes de caractères représentant les noms des articles à vérifier
Votre programme doit :
- Commencer avec l'inventaire initial suivant :
inventory["apples"] = 50;
inventory["bananas"] = 30;
inventory["oranges"] = 25;
inventory["grapes"] = 40; - Lire le nombre de requêtes de stock
- Pour chaque requête, lire un nom d'article
- Utiliser la méthode
.count()pour vérifier si l'article existe dans la map d'inventaire - Si l'article existe, afficher sa quantité de stock actuelle
- Si l'article n'existe pas, afficher un message indiquant qu'il n'a pas été trouvé
- Après toutes les requêtes, afficher un résumé du nombre total d'articles différents actuellement en inventaire
Utilisez le format de sortie exact suivant :
Pour chaque requête de stock :
[item_name]: [quantity] in stockPour les articles non trouvés :
[item_name]: Item not foundRésumé à la fin :
Total items in inventory: [number_of_items]Utilisez la méthode .count() pour vérifier en toute sécurité si chaque article existe avant d'accéder à sa valeur. Si inventory.count(itemName) renvoie 1, l'article existe et vous pouvez accéder en toute sécurité à inventory[itemName] pour obtenir sa quantité. S'il renvoie 0, l'article n'existe pas. Utilisez la méthode .size() sur la map pour obtenir le nombre total d'articles différents dans l'inventaire pour le résumé final.
Essayez vous-même
#include <iostream>
#include <map>
#include <string>
using namespace std;
int main() {
// Initialize the inventory with existing items
map<string, int> inventory;
inventory["apples"] = 50;
inventory["bananas"] = 30;
inventory["oranges"] = 25;
int n;
cin >> n;
for (int i = 0; i < n; i++) {
string itemName;
int quantity;
cin >> itemName >> quantity;
inventory[itemName] += quantity;
cout << "Added " << quantity << " " << itemName << ". New total: " << inventory[itemName] << endl;
}
cout << "Final Inventory:" << endl;
for (const auto& item : inventory) {
cout << item.first << ": " << item.second << endl;
}
return 0;
}Toutes les leçons de Logique et Flux
1Pointeurs et mémoire
Qu'est-ce qu'un pointeur ?Opérateur d'adresseOpérateur de déréférencementPointeurs nulsPointeurs et tableauxMémoire dynamique avec 'new'Libérer la mémoire avec 'delete'Récapitulatif - Pratique des pointeurs2Vecteurs (Tableaux dynamiques)
Introduction à std::vectorCréer un vecteurAjouter des élémentsAccéder aux élémentsTaille d'un vecteurItérer avec une boucle ForBoucle For basée sur l'intervalleSupprimer des élémentsRécapitulatif - Opérations sur les vecteurs5Projet : Outil d'inventaire
Configuration du projetAjout et mise à jour d'articles3Projet : Outil de liste de tâches
Présentation du projetAjouter une tâche