Контест Junior Современный C++20/23 обновлено

Отчёт-таблица через std::format

Условие

Сформируйте текстовый отчёт по заказу. Каждая позиция: название (латиница и цифры, до 12 символов), количество и цена в копейках (целое число). Формат отчёта (ширины колонок 12, 6, 12, 14):

  • заголовок: item по левому краю ширины 12, qty по правому краю ширины 6, price по правому краю ширины 12, total по правому краю ширины 14;
  • строка из 44 дефисов;
  • по строке на позицию: название влево (12), количество вправо (6), цена вправо (12), сумма позиции вправо (14);
  • строка из 44 дефисов;
  • итог: TOTAL влево (12), общее количество вправо (6), пустое поле ширины 12, общая сумма вправо (14).

Деньги выводятся как рубли.копейки с двумя цифрами копеек (1234 копейки это 12.34, 5 это 0.05). Пробелы в конце строк не проверяются.

Ввод: n (1 ≤ n ≤ 500), затем n строк название количество цена_в_копейках (0 ≤ количество ≤ 1000, 0 ≤ цена ≤ 10⁷).

Вывод: отчёт.

Пример 1

Ввод:

2
apple 3 1234
milk 1 5

Вывод:

item           qty       price         total
--------------------------------------------
apple            3       12.34         37.02
milk             1        0.05          0.05
--------------------------------------------
TOTAL            4                     37.07

Пример 2

Ввод:

1
free 10 0

Вывод:

item           qty       price         total
--------------------------------------------
free            10        0.00          0.00
--------------------------------------------
TOTAL           10                      0.00

Решите в тренажёре

Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.