Помощь - Поиск - Пользователи - Календарь
Полная версия: Проблемы чтения из файла
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
obi4niy
Здравствуйте, более опытные товарищи паскальщики.
Есть проблема, решения которой я не нашел самостоятельно.

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

uses crt,dos;
VAR
Fi:array [1..72] of integer;
P:array [1..72] of real;
f2: text;
procedure ind;
begin
textcolor(6);
writeln(' Список файлов с индикаторными диаграммами:');
ShowDir('*.ind');
textcolor(10);
writeln;write('Введите имя требуемого файла:');
readln(name3);
assign(f2,name3);
reset(f2);
i:=0;
repeat i:=i+1;
readln(f2,fi[i],P[i]);
until i=72;
close(f2);
end;


Файл с расширением *.ind представляет собой текстовый файл с двумя столбцами чисел:

Код
fi[i]    P[i]
0    0.10
10    0.90
20    0.90
30    0.90
40    0.90
50    0.90
60    0.90
.....



Проблема в том, что после ввода имени файла, программа прекращает работу и выдает ошибку 106 - недопустимый формат целого числа.
Скажите пожалуйста, почему возникает эта ошибка, и как исправить код, чтобы она более не возникала?
Lapp
Так у тебя же первая строка содержит не числа, а заголовки столбцов - верно? Ты просто пропусти ее. Перед циклом чтения вставь строчку:
  readln(f2);


Не по делу: немного странно видеть repeat / until в роли цикла for. Почему так сделал?
obi4niy
Спасибо, проблема решена.

Мне тоже странно. Это программа из курсовой работы, писал её препод по информатике, и мне она поступила как образец. Однако ошибок в этом образце было прилично. Видимо, писалась она "лишь бы было".
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.