Removendo Itens do Estoque
Parte da seção Lógica & Fluxo do Journey de C++ da Coddy — lição 33 de 56.
Desafio
FácilComplete seu sistema de rastreamento de inventário implementando a funcionalidade de remover estoque de itens existentes. Esta lição demonstra como diminuir as quantidades de inventário com segurança, evitando que os níveis de estoque fiquem abaixo de zero e lidando com itens que não existem no inventário.
Comece com o seguinte inventário inicial:
apples: 50bananas: 30oranges: 25
As seguintes entradas serão fornecidas:
- Um número inteiro
nrepresentando o número de operações de remoção de estoque a serem realizadas - Em seguida,
npares de entradas:- Uma string representando o nome do item
- Um número inteiro representando a quantidade a ser removida
Seu programa deve:
- Começar com o inventário inicial listado acima
- Ler o número de operações de remoção de estoque
- Para cada operação, ler um nome de item e a quantidade a ser removida
- Usar o método
.count()para verificar se o item existe no mapa de inventário - Se o item não existir, imprimir uma mensagem de erro
- Se o item existir, verificar se a remoção da quantidade tornaria o estoque negativo
- Se a remoção resultar em estoque negativo, imprimir uma mensagem de erro
- Se a remoção for válida, subtrair a quantidade do estoque atual e imprimir uma mensagem de confirmação
- Após todas as operações, imprimir o inventário final mostrando todos os itens e suas quantidades atualizadas
Use o seguinte formato de saída exato:
Para remoção de estoque bem-sucedida:
Removed [quantity] [item_name]. New total: [new_total]Para itens não encontrados:
Error: [item_name] not found in inventoryPara estoque insuficiente:
Error: Cannot remove [quantity] [item_name]. Only [current_stock] in stockInventário final:
Final Inventory:\n[item1]: [quantity1]\n[item2]: [quantity2]\n[item3]: [quantity3]\n...O inventário final deve ser impresso em ordem alfabética pelo nome do item. Use inventory.count(itemName) para verificar se um item existe antes de tentar remover o estoque. Subtraia do inventário apenas se o item existir e o estoque atual for maior ou igual à quantidade que está sendo removida. Use inventory[itemName] -= quantity para subtrair a quantidade do estoque existente.
Experimente você mesmo
#include <iostream>
#include <map>
#include <string>
using namespace std;
int main() {
// Initialize inventory with existing items
map<string, int> inventory;
inventory["apples"] = 50;
inventory["bananas"] = 30;
inventory["oranges"] = 25;
inventory["grapes"] = 40;
int n;
cin >> n;
for (int i = 0; i < n; i++) {
string itemName;
cin >> itemName;
if (inventory.count(itemName)) {
cout << itemName << ": " << inventory[itemName] << " in stock" << endl;
} else {
cout << itemName << ": Item not found" << endl;
}
}
cout << "Total items in inventory: " << inventory.size() << 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