Adicionando e Atualizando Itens
Parte da seção Lógica & Fluxo do Journey de C++ da Coddy — lição 31 de 56.
Desafio
FácilEstenda seu sistema de rastreamento de inventário implementando a funcionalidade para adicionar novos itens ou atualizar as quantidades de itens existentes. Esta lição demonstra como os maps lidam automaticamente tanto com novas entradas quanto com atualizações de entradas existentes.
As seguintes entradas serão fornecidas:
- Um número inteiro
nrepresentando o número de operações de inventário a serem realizadas - Em seguida,
npares de entradas:- Uma string representando o nome do item
- Um número inteiro representando a quantidade a ser adicionada
Seu programa deve:
- Começar com o seguinte inventário inicial:
inventory["apples"] = 50;
inventory["bananas"] = 30;
inventory["oranges"] = 25; - Ler o número de operações de inventário
- Para cada operação, ler um nome de item e uma quantidade
- Adicionar a quantidade ao estoque atual do item no map de inventário usando o operador de colchetes
- Imprimir uma mensagem de confirmação para cada operação mostrando o nome do item e sua nova quantidade total
- 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 cada operação de inventário:
Added [quantity] [item_name]. New total: [new_total]Inventário final:
Final Inventory:
[item1]: [quantity1]
[item2]: [quantity2]
[item3]: [quantity3]
...O inventário final deve ser impresso em ordem alfabética pelo nome do item. Use o operador de colchetes para adicionar quantidades - se o item já existir, ele será adicionado à quantidade atual; se for um novo item, ele será criado com a quantidade especificada. Lembre-se de que inventory[itemName] += quantity funcionará tanto para itens novos quanto para existentes, porque o map inicializa automaticamente novas entradas com 0.
Experimente você mesmo
#include <iostream>
#include <map>
#include <string>
using namespace std;
int main() {
// TODO: Write your code below
map<string, int> inventory;
inventory["Laptops"] = 15;
inventory["Mice"] = 42;
inventory["Keyboards"] = 28;
inventory["Monitors"] = 12;
cout << "Initial Inventory Setup:" << endl;
for (const auto& pair : inventory) {
cout << pair.first << ": " << pair.second << endl;
}
cout << "Inventory system is ready!" << 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