Menu
CoddyTech

Mengurangi Stok

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

challenge icon

Tantangan

Mudah

Lengkapi sistem pelacakan inventarismu dengan menerapkan fungsi untuk mengurangi stok barang yang sudah ada. Pelajaran ini menunjukkan cara mengurangi jumlah inventaris dengan aman, mencegah jumlah stok menjadi kurang dari nol, dan menangani barang yang tidak ada dalam inventaris.

Mulai dengan inventaris awal berikut:

  • apples: 50
  • bananas: 30
  • oranges: 25

Input berikut akan diberikan:

  • Bilangan bulat n yang menunjukkan jumlah operasi pengurangan stok yang harus dilakukan
  • Lalu n pasang input:
    • String yang menunjukkan nama barang
    • Bilangan bulat yang menunjukkan jumlah yang akan dikurangi

Programmu harus:

  1. Dimulai dengan inventaris awal yang tercantum di atas
  2. Membaca jumlah operasi pengurangan stok
  3. Untuk setiap operasi, membaca nama barang dan jumlah yang akan dikurangi
  4. Menggunakan method .count() untuk memeriksa apakah barang tersebut ada di map inventaris
  5. Jika barang tersebut tidak ada, mencetak pesan error
  6. Jika barang tersebut ada, memeriksa apakah pengurangan jumlah akan membuat stok menjadi negatif
  7. Jika pengurangan akan membuat stok menjadi negatif, mencetak pesan error
  8. Jika pengurangan valid, mengurangi jumlah dari stok saat ini dan mencetak pesan konfirmasi
  9. Setelah semua operasi, mencetak inventaris akhir yang menampilkan semua barang dan jumlahnya yang sudah diperbarui

Gunakan format output persis berikut:

Untuk pengurangan stok yang berhasil:

Removed [quantity] [item_name]. New total: [new_total]

Untuk barang yang tidak ditemukan:

Error: [item_name] not found in inventory

Untuk stok yang tidak mencukupi:

Error: Cannot remove [quantity] [item_name]. Only [current_stock] in stock

Inventaris akhir:

Final Inventory:
[item1]: [quantity1]
[item2]: [quantity2]
[item3]: [quantity3]
...

Inventaris akhir harus dicetak berdasarkan urutan alfabet nama barang. Gunakan inventory.count(itemName) untuk memeriksa apakah barang tersebut ada sebelum mencoba mengurangi stok. Kurangi inventaris hanya jika barang tersebut ada dan stok saat ini lebih besar dari atau sama dengan jumlah yang akan dikurangi. Gunakan inventory[itemName] -= quantity untuk mengurangi jumlah dari stok yang tersedia.

Coba sendiri

#include <iostream>
#include <map>
#include <string>
using namespace std;

int main() {
    // Initialize inventory with existing items
    map<string, int> inventory;
    inventory["apples"] = 50;
    inventory["bananas"] = 30;
    inventory["oranges"] = 25;
    inventory["grapes"] = 40;
    
    int n;
    cin >> n;
    
    for (int i = 0; i < n; i++) {
        string itemName;
        cin >> itemName;
        
        if (inventory.count(itemName)) {
            cout << itemName << ": " << inventory[itemName] << " in stock" << endl;
        } else {
            cout << itemName << ": Item not found" << endl;
        }
    }
    
    cout << "Total items in inventory: " << inventory.size() << endl;
    
    return 0;
}

Semua pelajaran di Logika dan Alur

Latihan sendiri: Compiler C++ online