Verificando o Estoque
Parte da seção Lógica & Fluxo do Journey de C++ da Coddy — lição 32 de 56.
Desafio
FácilContinue 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
nrepresentando o número de consultas de estoque a serem realizadas - Em seguida,
nstrings representando os nomes dos itens a serem verificados
Seu programa deve:
- Começar com o seguinte inventário inicial:
inventory["apples"] = 50;
inventory["bananas"] = 30;
inventory["oranges"] = 25;
inventory["grapes"] = 40; - Ler o número de consultas de estoque
- Para cada consulta, ler o nome de um item
- Usar o método
.count()para verificar se o item existe no mapa de inventário - Se o item existir, imprimir sua quantidade atual em estoque
- Se o item não existir, imprimir uma mensagem indicando que ele não foi encontrado
- 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 stockPara itens não encontrados:
[item_name]: Item not foundResumo 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
1Ponteiros e Memória
O que é um Ponteiro?Operador de EndereçoOperador de DesreferenciaçãoPonteiros NulosPonteiros e ArraysMemória Dinâmica com 'new'Liberando Memória com 'delete'Recapitulação - Prática com Ponteiros2Vetores (Arrays Dinâmicos)
Introdução ao std::vectorCriando um VetorAdicionando ElementosAcessando ElementosTamanho do VetorIterando com um Loop ForLoop For Baseado em IntervaloRemovendo ElementosRecapitulação - Operações com Vetores5Projeto: Ferramenta de Inventário
Configuração do ProjetoAdicionando e Atualizando Itens3Projeto: Ferramenta de Lista de Tarefas
Visão Geral do ProjetoAdicionando uma Tarefa