Verificar existencias
Parte de la sección Lógica y Flujo del Journey de C++ de Coddy. Lección 32 de 56.
Desafío
FácilContinúa construyendo tu sistema de seguimiento de inventario implementando la funcionalidad para comprobar el nivel de existencias actual de artículos específicos. Esta lección demuestra cómo consultar de forma segura un mapa para obtener información sobre los artículos y gestionar los casos en los que algunos artículos pueden no existir en el inventario.
Se proporcionarán las siguientes entradas:
- Un entero
nque representa el número de consultas de existencias que se realizarán - Después,
ncadenas que representan los nombres de los artículos que se comprobarán
Tu programa debe:
- Comenzar con el siguiente inventario inicial:
inventory["apples"] = 50;
inventory["bananas"] = 30;
inventory["oranges"] = 25;
inventory["grapes"] = 40; - Leer el número de consultas de existencias
- Para cada consulta, leer el nombre de un artículo
- Usar el método
.count()para comprobar si el artículo existe en el mapa del inventario - Si el artículo existe, imprimir su cantidad actual en existencias
- Si el artículo no existe, imprimir un mensaje que indique que no se encontró
- Después de todas las consultas, imprimir un resumen del número total de artículos diferentes que hay actualmente en el inventario
Usa el siguiente formato de salida exacto:
Para cada consulta de existencias:
[item_name]: [quantity] in stockPara los artículos no encontrados:
[item_name]: Item not foundResumen al final:
Total items in inventory: [number_of_items]Usa el método .count() para comprobar de forma segura si cada artículo existe antes de acceder a su valor. Si inventory.count(itemName) devuelve 1, el artículo existe y puedes acceder de forma segura a inventory[itemName] para obtener su cantidad. Si devuelve 0, el artículo no existe. Usa el método .size() en el mapa para obtener el número total de artículos diferentes del inventario para el resumen final.
Pruébalo tú mismo
#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 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 tareaPractica por tu cuenta: Compilador de C++ online