Задание.

В исходном файле содержится некоторый текст. Требуется разработать программу, которая заменяет в этом файле все числовые записи денежных сумм их словесными эквивалентами.

При этом для рублей может быть использована сокращенная запись «руб.» или полная «рублей», а для копеек – «коп.» или «копеек», по выбору пользователя.

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

Описание ограничений, накладываемых на исходные данные.

В соответствии с условием задачи исходные данные представляют собой текстовый файл. Для правильного выполнения поставленной задачи должны выполняться следующие условия:

- текст в файле должен быть записан с помощью кириллической кодировки (MS-DOS);
- обрабатываемый текст должен быть написан в соответствии с правилами русского языка;
- суммы денег, преобразуемые программой, должны быть представлены натуральными числами (или нулем);
- обрабатываемые суммы денег должны быть меньше квадриллиона;

Формы представления результатов работы программы.

Результатом правильной работы программы является текстовый файл, в котором числовые записи сумм денег заменены их словесными эквивалентами. В случае несоответствия обрабатываемого текста накладываемым ограничениям, текст в файле останется без изменений, либо вместо числовой записи суммы денег будет записано сообщение о превышении максимально допустимого размера числа (в случае соответствующей ошибки).

Разработка алгоритмов

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