Сделать программу, которая проверяет исполнение бюджет.
Файл с расходами
Формат - позиция, ожидаемое значение, реальное значение, процент исполнения
24.11.2014 Авто:Бензин 1400
23.11.2014 Продукты:Мясо 500
23.11.2014 Продукты:Хлеб 90.33
14.11.2014 Общепит:Столовка 190
Статья расходов представляет собой «путь в дереве», где имена узлов от корня разделяются двоеточием. Даты идут не по порядку.
Файл бюджета
Формат - статья расходов, сумма
Авто 6000
Продукты + Общепит 10000
Алкоголь:Пиво 900
Здесь статьи расходов — это одно или несколько «поддеревьев» в общем «дереве расходов» (несколько поддеревьев сочетаются знаком +
). Например, для приведённого выше примера в узле Продукты
сумма составит 590.33
, а вместе с Общепит
ом – 780.33. Эту сумму и нужно сопоставить с ожидаемым значением 10000.
Программа должна получать через аргументы командной строки следующую информацию: файл бюджета, файл расходов, две даты (начало и конец) и вычислять для каждой позиции бюджета реальную сумму.
Текстовый файл
Формат -позиция, ожидаемое значение, реальное значение, процент исполнения
Авто 6000 1400 23.3%
Продукты + Общепит 10000 780.33 7.80%
Алкоголь:Пиво 900 0 0%
<Прочие расходы> 0 0
Если расходы по статье будут превышать ожидаемые, процент будет более 100%. В графу <Прочие расходы>
попадут все расходы, которые не были отражены ни в одной статье бюджета.