Программа работает некорректно - Free Pascal
Формулировка задачи:
Здравствуйте!
Возникла проблема с программой, она работает не так как надо. Нужно из одного типизированного файла переписать в другой числа с точностью до сотых.
После выполнения программы у меня в файле output.txt ничего нет.
USES
crt;
VAR
s: string;
function mantissa_file(str: string): boolean;
var
file1, file2: file of real;
r: real;
begin
{$I-}
assign(file1, str);
reset(file1);
{$I+}
if ioresult <> 0 then
mantissa_file := false
else begin
assign(file2, 'output.txt');
rewrite(file2);
fileMode := 2;
while (not eof(file1)) do begin
read(file1, r);
r := trunc(r*100+0.5)/100;
write(file2, r);
end;
close(file1); close(file2);
mantissa_file := true;
end;
end;
BEGIN
clrscr;
write('Vvedite polnoe imya faila: '); readln(s);
while not mantissa_file(s) do begin
clrscr;
writeln('ERROR! Pleas repeat!');
write('Vvedite polnoe imya faila: '); readln(s);
end;
END.Решение задачи: «Программа работает некорректно»
textual
Листинг программы
type tfile=file of real;
Объяснение кода листинга программы
- Объявление типа данных
tfileкакfile of real(файл, содержащий числа с плавающей точкой). - Создание объекта
fтипаtfile. - Открытие файла
fв режиме чтения. - Чтение данных из файла
fи сохранение их в переменнойs. - Закрытие файла
f. - Вывод значения переменной
sна экран.