Menu
CoddyTech

Memeriksa Stok

Termasuk bagian Logika dan Alur dalam perjalanan C++ di Coddy. Pelajaran 32 dari 56.

challenge icon

Tantangan

Mudah

Lanjutkan membangun sistem pelacakan inventarismu dengan menerapkan fungsi untuk memeriksa jumlah stok terkini dari item tertentu. Pelajaran ini menunjukkan cara melakukan query map dengan aman untuk mendapatkan informasi item dan menangani kasus ketika item mungkin tidak ada dalam inventaris.

Input berikut akan diberikan:

  • Bilangan bulat n yang menunjukkan jumlah query stok yang harus dilakukan
  • Kemudian n string yang menunjukkan nama item yang akan diperiksa

Programmu harus:

  1. Memulai dengan inventaris awal berikut:
    inventory["apples"] = 50;
    inventory["bananas"] = 30;
    inventory["oranges"] = 25;
    inventory["grapes"] = 40;
  2. Membaca jumlah query stok
  3. Untuk setiap query, membaca nama item
  4. Menggunakan method .count() untuk memeriksa apakah item tersebut ada di map inventaris
  5. Jika item tersebut ada, mencetak jumlah stoknya saat ini
  6. Jika item tersebut tidak ada, mencetak pesan yang menunjukkan bahwa item tidak ditemukan
  7. Setelah semua query, mencetak ringkasan jumlah total item berbeda yang saat ini ada dalam inventaris

Gunakan format output persis berikut:

Untuk setiap query stok:

[item_name]: [quantity] in stock

Untuk item yang tidak ditemukan:

[item_name]: Item not found

Ringkasan di akhir:

Total items in inventory: [number_of_items]

Gunakan method .count() untuk memeriksa dengan aman apakah setiap item ada sebelum mengakses nilainya. Jika inventory.count(itemName) mengembalikan 1, item tersebut ada dan kamu dapat mengakses inventory[itemName] dengan aman untuk mendapatkan jumlahnya. Jika method tersebut mengembalikan 0, item itu tidak ada. Gunakan method .size() pada map untuk mendapatkan jumlah total item berbeda dalam inventaris untuk ringkasan akhir.

Coba sendiri

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

Semua pelajaran di Logika dan Alur

Latihan sendiri: Compiler C++ online