Menu
Coddy logo textTech

Sprawdzanie stanu magazynowego

Część sekcji Logika i przepływ programu ścieżki C++ w Coddy. Lekcja 32 z 56.

challenge icon

Wyzwanie

Łatwy

Kontynuuj tworzenie systemu śledzenia zapasów, implementując funkcjonalność sprawdzania aktualnego stanu magazynowego wybranych produktów. Ta lekcja pokazuje, jak bezpiecznie wyszukiwać informacje o produktach w mapie i obsługiwać przypadki, w których produkty mogą nie znajdować się w magazynie.

Podane zostaną następujące dane wejściowe:

  • Liczba całkowita n oznaczająca liczbę zapytań o stan magazynowy
  • Następnie n ciągów znaków z nazwami produktów do sprawdzenia

Twój program powinien:

  1. Rozpocząć od następującego początkowego stanu magazynowego:
    inventory["apples"] = 50;
    inventory["bananas"] = 30;
    inventory["oranges"] = 25;
    inventory["grapes"] = 40;
  2. Odczytać liczbę zapytań o stan magazynowy
  3. Dla każdego zapytania odczytać nazwę produktu
  4. Użyć metody .count(), aby sprawdzić, czy produkt istnieje w mapie magazynu
  5. Jeśli produkt istnieje, wypisać jego aktualną ilość w magazynie
  6. Jeśli produkt nie istnieje, wypisać komunikat informujący, że go nie znaleziono
  7. Po wszystkich zapytaniach wypisać podsumowanie całkowitej liczby różnych produktów znajdujących się obecnie w magazynie

Użyj następującego dokładnego formatu wyjściowego:

Dla każdego zapytania o stan magazynowy:

[item_name]: [quantity] in stock

Jeśli produktu nie znaleziono:

[item_name]: Item not found

Podsumowanie na końcu:

Total items in inventory: [number_of_items]

Użyj metody .count(), aby bezpiecznie sprawdzić, czy każdy produkt istnieje, zanim uzyskasz dostęp do jego wartości. Jeśli inventory.count(itemName) zwraca 1, produkt istnieje i możesz bezpiecznie użyć inventory[itemName], aby uzyskać jego ilość. Jeśli zwraca 0, produkt nie istnieje. Użyj metody .size() mapy, aby uzyskać całkowitą liczbę różnych produktów w magazynie na potrzeby końcowego podsumowania.

Spróbuj swoich sił

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

Wszystkie lekcje w sekcji Logika i przepływ programu

Poćwicz samodzielnie: Kompilator C++ online