Agregar y actualizar artículos
Parte de la sección Lógica y Flujo del Journey de C++ de Coddy — lección 31 de 56.
Desafío
FácilExtiende tu sistema de seguimiento de inventario implementando la funcionalidad para añadir nuevos artículos o actualizar las cantidades de los artículos existentes. Esta lección demuestra cómo los mapas manejan automáticamente tanto las nuevas entradas como las actualizaciones de las existentes.
Se proporcionarán las siguientes entradas:
- Un entero
nque representa el número de operaciones de inventario a realizar - Luego
npares de entradas:- Una cadena que representa el nombre del artículo
- Un entero que representa la cantidad a añadir
Tu programa debe:
- Comenzar con el siguiente inventario inicial:
inventory["apples"] = 50;
inventory["bananas"] = 30;
inventory["oranges"] = 25; - Leer el número de operaciones de inventario
- Para cada operación, leer un nombre de artículo y una cantidad
- Añadir la cantidad al stock actual del artículo en el mapa de inventario utilizando el operador de corchetes
- Imprimir un mensaje de confirmación para cada operación que muestre el nombre del artículo y su nueva cantidad total
- Después de todas las operaciones, imprimir el inventario final mostrando todos los artículos y sus cantidades actualizadas
Utiliza el siguiente formato de salida exacto:
Para cada operación de inventario:
Added [quantity] [item_name]. New total: [new_total]Inventario final:
Final Inventory:
[item1]: [quantity1]
[item2]: [quantity2]
[item3]: [quantity3]
...El inventario final debe imprimirse en orden alfabético por nombre de artículo. Utiliza el operador de corchetes para añadir cantidades: si el artículo ya existe, se sumará a la cantidad actual; si es un artículo nuevo, se creará con la cantidad especificada. Recuerda que inventory[itemName] += quantity funcionará tanto para artículos nuevos como existentes porque el mapa inicializa automáticamente las nuevas entradas con 0.
Pruébalo tú mismo
#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 las lecciones de Lógica y Flujo
1Punteros y memoria
¿Qué es un puntero?Operador de direcciónOperador de desreferenciaPunteros nulosPunteros y arraysMemoria dinámica con 'new'Liberar memoria con 'delete'Resumen: Práctica de punteros2Vectores (Arrays dinámicos)
Introducción a std::vectorCreación de un VectorAgregar elementosAcceder a los elementosTamaño del VectorIterar con un bucle ForBucle For basado en rangosEliminar elementosResumen - Operaciones con Vectores5Proyecto: Herramienta de inventario
Configuración del proyectoAgregar y actualizar artículos3Proyecto: Herramienta de lista de tareas
Descripción general del proyectoAñadir una tarea