Задание № 31

Студент

Попеленков Владлен

Задача

Вывод таблицы

Состояние

Завершено

Баллов

5

Дедлайн
20 октября 2014
Назначено

22.09.2014, 11:22

Завершено

27.10.2014, 15:20

Реализовать генерацию форматированной таблицы

Входные данные

Текстовый файл, содержащий описание таблицы и саму таблицу:

<=>
Vasya   !     100
Petya   OMG   2
A
AA      BBBBB

Файл может содержать пустые и невалидные строки. Программа должна корректно это обрабатывать.

Постановка задачи

Реализовать программу, которая читает таблицу из файла и выводит её форматированную версию в другой файл.

  1. Первая строка файла состоит из символов <, >, =, которые задают форматирование. Каждый из символов указывает выравнивание в очередной колонке, а их количество задаёт число колонок.
  2. Остальные строки представляют собой строки таблицы (колонки разделены символом табуляции). Если строка по количеству элементов меньше, чем количество колонок, недостающие элементы считаются пустыми. Если, наоборот, больше, то лишние элементы игнорируются. Ширина каждой колонки определяется по максимальной длине ячейки, принадлежащей этой колонке.

Выходные данные

Текстовый файл (результат работы программы для вышеописанных входных данных)

+-------+-------+-----+
| Vasya |   !   | 100 |
+-------+-------+-----+
| Petya |  OMG  |   2 |
+-------+-------+-----+
| A     |       |     |
+-------+-------+-----+
| AA    | BBBBB |     |
+-------+-------+-----+

Тестирование

Для всех разработанных модулей должны быть созданы наборы unit тестов. Функций ввода/вывода нужно тестировать с помощью std::stringstream.

Действия