• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

C Или С++(задание На Файлы)

  • Автор темы jula939393
  • Дата начала
J

jula939393

Здравствуйте!!!Помогите пожалуйста!!
Задание:Написать программу, которая считывает текст из файла и выводит его
на экран, заменив цифры от 0 до 9 на слова «ноль», «один», ..., «девять»,
начиная каждое предложение с новой строки.
Можно переписать с Паскаля:
Код:

USES CRT;
CONST Separators:set of char=['.','!','?']; {множ-во: разделители}
Digits:set of char=['0'..'9']; {множ-во: цифры}
sDigits:array['0'..'9'] of string=
('ноль','один','два','три','четыре','пять','шесть','семь','восемь','девять');
fname:string='file.txt';
VAR f:text;
snt:string;
c,ch:char;
flagSnt:boolean;

BEGIN
clrscr;
assign(f,fname);
{Открытие исходного файла:}
{$I-} reset(f); {$I+}
if (IOResult<>0) then begin
writeln('Ошибка! Невозможно открыть файл "',fname,'"'); exit;
end;
snt:=''; flagSnt:=false;
while not eof(f) do begin {цикл - пока не конец файла:}
read(f,c); {чтение символа}
if c in Digits then {если это цифра}
snt:=snt+sDigits[c] {заменить на соотв. слово}
else
snt:=snt+c;
if c in Separators then begin {если это разделитель}
if flagSnt then begin
flagSnt:=false; writeln(snt); {вывести предложение}
end;
snt:=''; {начать новое предложение}
end
else flagSnt:=true;
end;
close(f);

END.
 
R

rrrFer

C++:
ifstream ifst("in.txt");
while(0 == ifst.eof()) {
char c = ifst.get();
switch © {
case '1': 
ofst << 'один';
break;
case '2':
//...
default:
ofst << c;
}
}
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!