Menu
Coddy logo textTech

Verificando o Estoque

Parte da seção Lógica & Fluxo do Journey de C++ da Coddy — lição 32 de 56.

challenge icon

Desafio

Fácil

Continue construindo seu sistema de rastreamento de inventário implementando a funcionalidade para verificar o nível de estoque atual de itens específicos. Esta lição demonstra como consultar um mapa com segurança para obter informações de itens e lidar com casos em que os itens podem não existir no inventário.

As seguintes entradas serão fornecidas:

  • Um número inteiro n representando o número de consultas de estoque a serem realizadas
  • Em seguida, n strings representando os nomes dos itens a serem verificados

Seu programa deve:

  1. Começar com o seguinte inventário inicial:
    inventory["apples"] = 50;
    inventory["bananas"] = 30;
    inventory["oranges"] = 25;
    inventory["grapes"] = 40;
  2. Ler o número de consultas de estoque
  3. Para cada consulta, ler o nome de um item
  4. Usar o método .count() para verificar se o item existe no mapa de inventário
  5. Se o item existir, imprimir sua quantidade atual em estoque
  6. Se o item não existir, imprimir uma mensagem indicando que ele não foi encontrado
  7. Após todas as consultas, imprimir um resumo do número total de itens diferentes atualmente no inventário

Use o seguinte formato de saída exato:

Para cada consulta de estoque:

[item_name]: [quantity] in stock

Para itens não encontrados:

[item_name]: Item not found

Resumo ao final:

Total items in inventory: [number_of_items]

Use o método .count() para verificar com segurança se cada item existe antes de acessar seu valor. Se inventory.count(itemName) retornar 1, o item existe e você pode acessar inventory[itemName] com segurança para obter sua quantidade. Se retornar 0, o item não existe. Use o método .size() no mapa para obter o número total de itens diferentes no inventário para o resumo final.

Experimente você mesmo

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

Todas as lições de Lógica & Fluxo