Menu
Coddy logo textTech

Verificar existencias

Parte de la sección Lógica y Flujo del Journey de C++ de Coddy — lección 32 de 56.

challenge icon

Desafío

Fácil

Continúa construyendo tu sistema de seguimiento de inventario implementando la funcionalidad para verificar el nivel de stock actual de artículos específicos. Esta lección demuestra cómo consultar de forma segura un mapa para obtener información de artículos y manejar casos en los que los artículos pueden no existir en el inventario.

Se proporcionarán las siguientes entradas:

  • Un entero n que representa el número de consultas de stock a realizar
  • Luego n cadenas que representan los nombres de los artículos a verificar

Tu programa debe:

  1. Comenzar con el siguiente inventario inicial:
    inventory["apples"] = 50;
    inventory["bananas"] = 30;
    inventory["oranges"] = 25;
    inventory["grapes"] = 40;
  2. Leer el número de consultas de stock
  3. Para cada consulta, leer el nombre de un artículo
  4. Usar el método .count() para verificar si el artículo existe en el mapa de inventario
  5. Si el artículo existe, imprimir su cantidad de stock actual
  6. Si el artículo no existe, imprimir un mensaje indicando que no fue encontrado
  7. Después de todas las consultas, imprimir un resumen del número total de artículos diferentes actualmente en el inventario

Utiliza el siguiente formato de salida exacto:

Para cada consulta de stock:

[item_name]: [quantity] in stock

Para artículos no encontrados:

[item_name]: Item not found

Resumen al final:

Total items in inventory: [number_of_items]

Utiliza el método .count() para verificar 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. Utiliza el método .size() en el mapa para obtener el número total de artículos diferentes en el 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