Menu
Coddy logo textTech

Lagerbestand prüfen

Teil des Abschnitts Logik & Ablauf der C++-Journey von Coddy — Lektion 32 von 56.

challenge icon

Aufgabe

Einfach

Bauen Sie Ihr Inventarverfolgungssystem weiter aus, indem Sie die Funktionalität zur Überprüfung des aktuellen Lagerbestands bestimmter Artikel implementieren. Diese Lektion zeigt, wie man eine Map sicher nach Artikelinformationen abfragt und Fälle behandelt, in denen Artikel möglicherweise nicht im Inventar vorhanden sind.

Die folgenden Eingaben werden bereitgestellt:

  • Ein Integer n, der die Anzahl der durchzuführenden Bestandsabfragen darstellt
  • Anschließend n Strings, die die zu prüfenden Artikelnamen darstellen

Ihr Programm sollte:

  1. Mit dem folgenden Anfangsinventar beginnen:
    inventory["apples"] = 50;
    inventory["bananas"] = 30;
    inventory["oranges"] = 25;
    inventory["grapes"] = 40;
  2. Die Anzahl der Bestandsabfragen einlesen
  3. Für jede Abfrage einen Artikelnamen einlesen
  4. Die Methode .count() verwenden, um zu prüfen, ob der Artikel in der Inventar-Map existiert
  5. Wenn der Artikel existiert, seine aktuelle Bestandsmenge ausgeben
  6. Wenn der Artikel nicht existiert, eine Nachricht ausgeben, die besagt, dass er nicht gefunden wurde
  7. Nach allen Abfragen eine Zusammenfassung der Gesamtzahl der verschiedenen Artikel ausgeben, die sich derzeit im Inventar befinden

Verwenden Sie das folgende exakte Ausgabeformat:

Für jede Bestandsabfrage:

[item_name]: [quantity] in stock

Für nicht gefundene Artikel:

[item_name]: Item not found

Zusammenfassung am Ende:

Total items in inventory: [number_of_items]

Verwenden Sie die Methode .count(), um sicher zu prüfen, ob jeder Artikel existiert, bevor Sie auf seinen Wert zugreifen. Wenn inventory.count(itemName) den Wert 1 zurückgibt, existiert der Artikel und Sie können sicher auf inventory[itemName] zugreifen, um seine Menge zu erhalten. Wenn sie 0 zurückgibt, existiert der Artikel nicht. Verwenden Sie die Methode .size() auf der Map, um die Gesamtzahl der verschiedenen Artikel im Inventar für die abschließende Zusammenfassung zu erhalten.

Probier es selbst

#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;
}

Alle Lektionen in Logik & Ablauf