Ajout et mise à jour d'articles
Fait partie de la section Logique et Flux du Journey C++ de Coddy — leçon 31 sur 56.
Défi
FacileÉtendez votre système de suivi d'inventaire en implémentant la fonctionnalité permettant d'ajouter de nouveaux articles ou de mettre à jour les quantités d'articles existants. Cette leçon démontre comment les maps gèrent automatiquement à la fois les nouvelles entrées et les mises à jour de celles existantes.
Les entrées suivantes seront fournies :
- Un entier
nreprésentant le nombre d'opérations d'inventaire à 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é à ajouter
Votre programme doit :
- Commencer avec l'inventaire initial suivant :
inventory["apples"] = 50;
inventory["bananas"] = 30;
inventory["oranges"] = 25; - Lire le nombre d'opérations d'inventaire
- Pour chaque opération, lire un nom d'article et une quantité
- Ajouter la quantité au stock actuel de l'article dans la map d'inventaire en utilisant l'opérateur crochet
- Afficher un message de confirmation pour chaque opération montrant le nom de l'article et sa nouvelle quantité totale
- 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 chaque opération d'inventaire :
Added [quantity] [item_name]. New total: [new_total]Inventaire final :
Final Inventory:
[item1]: [quantity1]
[item2]: [quantity2]
[item3]: [quantity3]
...L'inventaire final doit être affiché par ordre alphabétique selon le nom de l'article. Utilisez l'opérateur crochet pour ajouter des quantités - si l'article existe déjà, il s'ajoutera à la quantité actuelle ; s'il s'agit d'un nouvel article, il sera créé avec la quantité spécifiée. N'oubliez pas que inventory[itemName] += quantity fonctionnera à la fois pour les nouveaux articles et les articles existants, car la map initialise automatiquement les nouvelles entrées à 0.
Essayez vous-même
#include <iostream>
#include <map>
#include <string>
using namespace std;
int main() {
// TODO: Write your code below
map<string, int> inventory;
inventory["Laptops"] = 15;
inventory["Mice"] = 42;
inventory["Keyboards"] = 28;
inventory["Monitors"] = 12;
cout << "Initial Inventory Setup:" << endl;
for (const auto& pair : inventory) {
cout << pair.first << ": " << pair.second << endl;
}
cout << "Inventory system is ready!" << 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