Lagerbestand prüfen
Teil des Abschnitts Logik & Ablauf der C++-Journey von Coddy — Lektion 32 von 56.
Aufgabe
EinfachBauen 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
nStrings, die die zu prüfenden Artikelnamen darstellen
Ihr Programm sollte:
- Mit dem folgenden Anfangsinventar beginnen:
inventory["apples"] = 50;
inventory["bananas"] = 30;
inventory["oranges"] = 25;
inventory["grapes"] = 40; - Die Anzahl der Bestandsabfragen einlesen
- Für jede Abfrage einen Artikelnamen einlesen
- Die Methode
.count()verwenden, um zu prüfen, ob der Artikel in der Inventar-Map existiert - Wenn der Artikel existiert, seine aktuelle Bestandsmenge ausgeben
- Wenn der Artikel nicht existiert, eine Nachricht ausgeben, die besagt, dass er nicht gefunden wurde
- 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 stockFür nicht gefundene Artikel:
[item_name]: Item not foundZusammenfassung 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
1Pointer und Speicher
Was ist ein Pointer?AdressoperatorDereferenzierungsoperatorNull-PointerPointer und ArraysDynamischer Speicher mit 'new'Speicher freigeben mit 'delete'Zusammenfassung – Pointer-Übung2Vektoren (Dynamische Arrays)
Einführung in std::vectorEinen Vector erstellenElemente hinzufügenAuf Elemente zugreifenVector-GrößeIterieren mit einer For-SchleifeRange-based For-SchleifeElemente entfernenZusammenfassung – Vector-Operationen5Projekt: Inventar-Tool
Projekt-SetupArtikel hinzufügen und aktualisieren3Projekt: Aufgabenlisten-Tool
ProjektübersichtEine Aufgabe hinzufügen