재고 확인
Coddy C++ 여정의 로직과 흐름 섹션에 포함된 레슨 — 56개 중 32번째.
챌린지
쉬움특정 품목의 현재 재고 수준을 확인하는 기능을 구현하여 인벤토리 추적 시스템 구축을 계속해 보세요. 이 레슨에서는 맵(map)에서 품목 정보를 안전하게 조회하고, 인벤토리에 품목이 존재하지 않는 경우를 처리하는 방법을 보여줍니다.
다음과 같은 입력이 제공됩니다:
- 수행할 재고 조회 횟수를 나타내는 정수
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;
}