Suppression de stock
Fait partie de la section Logique et Flux du Journey C++ de Coddy — leçon 33 sur 56.
Défi
FacileComplétez votre système de suivi d'inventaire en implémentant la fonctionnalité permettant de retirer du stock des articles existants. Cette leçon démontre comment diminuer en toute sécurité les quantités d'inventaire tout en empêchant les niveaux de stock de descendre en dessous de zéro et en gérant les articles qui n'existent pas dans l'inventaire.
Commencez avec l'inventaire initial suivant :
apples: 50bananas: 30oranges: 25
Les entrées suivantes seront fournies :
- Un entier
nreprésentant le nombre d'opérations de retrait de stock à effectuer - Ensuite,
npaires d'entrées :- Une chaîne de caractères représentant le nom de l'article
- Un entier représentant la quantité à retirer
Votre programme doit :
- Commencer avec l'inventaire initial listé ci-dessus
- Lire le nombre d'opérations de retrait de stock
- Pour chaque opération, lire un nom d'article et la quantité à retirer
- Utiliser la méthode
.count()pour vérifier si l'article existe dans la map d'inventaire - Si l'article n'existe pas, afficher un message d'erreur
- Si l'article existe, vérifier si le retrait de la quantité rendrait le stock négatif
- Si le retrait entraînait un stock négatif, afficher un message d'erreur
- Si le retrait est valide, soustraire la quantité du stock actuel et afficher un message de confirmation
- Après toutes les opérations, afficher l'inventaire final montrant tous les articles et leurs quantités mises à jour
Utilisez le format de sortie exact suivant :
Pour un retrait de stock réussi :
Removed [quantity] [item_name]. New total: [new_total]Pour les articles non trouvés :
Error: [item_name] not found in inventoryPour un stock insuffisant :
Error: Cannot remove [quantity] [item_name]. Only [current_stock] in stockInventaire final :
Final Inventory:\n[item1]: [quantity1]\n[item2]: [quantity2]\n[item3]: [quantity3]\n...L'inventaire final doit être affiché par ordre alphabétique des noms d'articles. Utilisez inventory.count(itemName) pour vérifier si un article existe avant de tenter de retirer du stock. Ne soustrayez de l'inventaire que si l'article existe et que le stock actuel est supérieur ou égal à la quantité retirée. Utilisez inventory[itemName] -= quantity pour soustraire la quantité du stock existant.
Essayez vous-même
#include <iostream>
#include <map>
#include <string>
using namespace std;
int main() {
// Initialize inventory with existing items
map<string, int> inventory;
inventory["apples"] = 50;
inventory["bananas"] = 30;
inventory["oranges"] = 25;
inventory["grapes"] = 40;
int n;
cin >> n;
for (int i = 0; i < n; i++) {
string itemName;
cin >> itemName;
if (inventory.count(itemName)) {
cout << itemName << ": " << inventory[itemName] << " in stock" << endl;
} else {
cout << itemName << ": Item not found" << endl;
}
}
cout << "Total items in inventory: " << inventory.size() << 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