Menu
Coddy logo textTech

Vérification du stock

Fait partie de la section Logique et Flux du Journey C++ de Coddy — leçon 32 sur 56.

challenge icon

Défi

Facile

Continuez à 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 n représentant le nombre de requêtes de stock à effectuer
  • Ensuite, n chaînes de caractères représentant les noms des articles à vérifier

Votre programme doit :

  1. Commencer avec l'inventaire initial suivant :
    inventory["apples"] = 50;
    inventory["bananas"] = 30;
    inventory["oranges"] = 25;
    inventory["grapes"] = 40;
  2. Lire le nombre de requêtes de stock
  3. Pour chaque requête, lire un nom d'article
  4. Utiliser la méthode .count() pour vérifier si l'article existe dans la map d'inventaire
  5. Si l'article existe, afficher sa quantité de stock actuelle
  6. Si l'article n'existe pas, afficher un message indiquant qu'il n'a pas été trouvé
  7. 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 stock

Pour les articles non trouvés :

[item_name]: Item not found

Ré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