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 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 n que representa el número de consultas de existencias que se realizarán
  • Después, n cadenas que representan los nombres de los artículos que se comprobarán

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 existencias
  3. Para cada consulta, leer el nombre de un artículo
  4. Usar el método .count() para comprobar si el artículo existe en el mapa del inventario
  5. Si el artículo existe, imprimir su cantidad actual en existencias
  6. Si el artículo no existe, imprimir un mensaje que indique que no se encontró
  7. 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 stock

Para los artículos no encontrados:

[item_name]: Item not found

Resumen 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

Practica por tu cuenta: Compilador de C++ online