Menu
Coddy logo textTech

Добавление и обновление товаров

Часть раздела Логика и управление потоком путешествия по C++ на Coddy — урок 31 из 56.

challenge icon

Задание

Легко

Расширьте свою систему отслеживания инвентаря, реализовав функциональность для добавления новых товаров или обновления количества существующих. Этот урок демонстрирует, как карты (maps) автоматически обрабатывают как новые записи, так и обновления существующих.

Будут предоставлены следующие входные данные:

  • Целое число n, представляющее количество операций с инвентарем для выполнения
  • Затем n пар входных данных:
    • Строка, представляющая название товара
    • Целое число, представляющее количество для добавления

Ваша программа должна:

  1. Начать со следующего начального инвентаря:
    inventory["apples"] = 50;
    inventory["bananas"] = 30;
    inventory["oranges"] = 25;
  2. Прочитать количество операций с инвентарем
  3. Для каждой операции прочитать название товара и количество
  4. Добавить количество к текущему запасу товара в карте инвентаря, используя оператор квадратных скобок
  5. Вывести подтверждающее сообщение для каждой операции, показывающее название товара и его новое общее количество
  6. После всех операций вывести итоговый инвентарь, показывающий все товары и их обновленное количество

Используйте следующий точный формат вывода:

Для каждой операции с инвентарем:

Added [quantity] [item_name]. New total: [new_total]

Итоговый инвентарь:

Final Inventory:
[item1]: [quantity1]
[item2]: [quantity2]
[item3]: [quantity3]
...

Итоговый инвентарь должен быть выведен в алфавитном порядке по названию товара. Используйте оператор квадратных скобок для добавления количества — если товар уже существует, оно прибавится к текущему количеству; если это новый товар, он будет создан с указанным количеством. Помните, что inventory[itemName] += quantity будет работать как для новых, так и для существующих товаров, потому что карта автоматически инициализирует новые записи значением 0.

Попробуйте сами

#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;
}

Все уроки раздела Логика и управление потоком