Menu
Coddy logo textTech

在庫の確認

CoddyのC++ジャーニー「論理と制御フロー」セクションの一部 — レッスン 32/56。

challenge icon

チャレンジ

簡単

特定のアイテムの現在の在庫レベルを確認する機能を実装して、在庫管理システムの構築を続けましょう。このレッスンでは、マップに対してアイテム情報を安全に照会する方法と、アイテムが在庫に存在しない場合の処理方法を学びます。

以下の入力が提供されます:

  • 実行する在庫照会の数を示す整数 n
  • 次に、確認するアイテム名を表す n 個の文字列

プログラムは以下の手順で行ってください:

  1. 以下の初期在庫から開始します:
    inventory["apples"] = 50;
    inventory["bananas"] = 30;
    inventory["oranges"] = 25;
    inventory["grapes"] = 40;
  2. 在庫照会の数を読み取ります
  3. 各照会について、アイテム名を読み取ります
  4. .count() メソッドを使用して、アイテムが在庫マップに存在するかどうかを確認します
  5. アイテムが存在する場合は、その現在の在庫数量を表示します
  6. アイテムが存在しない場合は、見つからなかったことを示すメッセージを表示します
  7. すべての照会が終わった後、現在在庫にある異なるアイテムの総数の要約を表示します

以下の正確な出力形式を使用してください:

各在庫照会について:

[item_name]: [quantity] in stock

アイテムが見つからない場合:

[item_name]: Item not found

最後に出力する要約:

Total items in inventory: [number_of_items]

値にアクセスする前に、.count() メソッドを使用して各アイテムが存在するかどうかを安全に確認してください。inventory.count(itemName) が 1 を返す場合、アイテムは存在し、inventory[itemName] に安全にアクセスして数量を取得できます。0 を返す場合、アイテムは存在しません。最後の要約では、マップの .size() メソッドを使用して、在庫内の異なるアイテムの総数を取得してください。

自分で試してみよう

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

論理と制御フローのすべてのレッスン