Помощь - Поиск - Пользователи - Календарь
Полная версия: Проблемы чтения из файла
Форум «Всё о Паскале» > 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
Спасибо, проблема решена.

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