Menu
Coddy logo textTech

Stok Kontrolü

Coddy'nin C++ Journey'sinin Mantık & Akış bölümünün bir parçası — ders 32 / 56.

challenge icon

Görev

Kolay

Belirli öğelerin mevcut stok seviyesini kontrol etme işlevini uygulayarak envanter takip sisteminizi oluşturmaya devam edin. Bu ders, bir map yapısında öğe bilgilerinin nasıl güvenli bir şekilde sorgulanacağını ve öğelerin envanterde bulunmadığı durumların nasıl ele alınacağını göstermektedir.

Aşağıdaki girdiler sağlanacaktır:

  • Gerçekleştirilecek stok sorgusu sayısını temsil eden bir tam sayı n
  • Ardından, kontrol edilecek öğe adlarını temsil eden n adet dize (string)

Programınız şunları yapmalıdır:

  1. Aşağıdaki başlangıç envanteri ile başlayın:
    inventory["apples"] = 50;
    inventory["bananas"] = 30;
    inventory["oranges"] = 25;
    inventory["grapes"] = 40;
  2. Stok sorgusu sayısını okuyun
  3. Her sorgu için bir öğe adı okuyun
  4. Öğenin envanter map'inde var olup olmadığını kontrol etmek için .count() metodunu kullanın
  5. Öğe mevcutsa, mevcut stok miktarını yazdırın
  6. Öğe mevcut değilse, bulunamadığını belirten bir mesaj yazdırın
  7. Tüm sorgulardan sonra, şu anda envanterde bulunan toplam farklı öğe sayısının bir özetini yazdırın

Aşağıdaki tam çıktı formatını kullanın:

Her stok sorgusu için:

[item_name]: [quantity] in stock

Bulunamayan öğeler için:

[item_name]: Item not found

Sonundaki özet:

Total items in inventory: [number_of_items]

Değerine erişmeden önce her öğenin var olup olmadığını güvenli bir şekilde kontrol etmek için .count() metodunu kullanın. Eğer inventory.count(itemName) 1 değerini döndürürse, öğe mevcuttur ve miktarını almak için inventory[itemName] ifadesine güvenle erişebilirsiniz. Eğer 0 döndürürse, öğe mevcut değildir. Final özeti için envanterdeki toplam farklı öğe sayısını almak üzere map üzerindeki .size() metodunu kullanın.

Kendin dene

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

Mantık & Akış bölümündeki tüm dersler