在庫の確認
CoddyのC++ジャーニー「論理と制御フロー」セクションの一部 — レッスン 32/56。
チャレンジ
簡単特定のアイテムの現在の在庫レベルを確認する機能を実装して、在庫管理システムの構築を続けましょう。このレッスンでは、マップに対してアイテム情報を安全に照会する方法と、アイテムが在庫に存在しない場合の処理方法を学びます。
以下の入力が提供されます:
- 実行する在庫照会の数を示す整数
n - 次に、確認するアイテム名を表す
n個の文字列
プログラムは以下の手順で行ってください:
- 以下の初期在庫から開始します:
inventory["apples"] = 50;
inventory["bananas"] = 30;
inventory["oranges"] = 25;
inventory["grapes"] = 40; - 在庫照会の数を読み取ります
- 各照会について、アイテム名を読み取ります
.count()メソッドを使用して、アイテムが在庫マップに存在するかどうかを確認します- アイテムが存在する場合は、その現在の在庫数量を表示します
- アイテムが存在しない場合は、見つからなかったことを示すメッセージを表示します
- すべての照会が終わった後、現在在庫にある異なるアイテムの総数の要約を表示します
以下の正確な出力形式を使用してください:
各在庫照会について:
[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;
}