Получить из текстового файла массив записей, содержащих цельную информацию об абоненте - Turbo Pascal

Узнай цену своей работы

Формулировка задачи:

Дан текстовый файл, содержащий 3*n строк. Первые N строк - это список ФИО, следующие N строк - соответствующие адреса, последние N строк - соответствующие им телефоны. Получить из файла массив записей, содержащих цельную информацию об абоненте - ФИО, номер телефона, адрес.

Решение задачи: «Получить из текстового файла массив записей, содержащих цельную информацию об абоненте»

textual
Листинг программы
Program MyProgram;
 
Type
  tAbon = record
    FIO, Addres, Number:string;
  end;
 
var
  Abonents: array  of tAbon;
  MyFile: Text;
  str: string;
  N, i:Integer;
 
begin
   Assign(MyFile, 'Путь_к_Вашему_файлу');
   Reset(MyFile);
   N:=0;
   while not eof(MyFile) do
   begin
       Readln(MyFile, str);
       inc(N);
   end;
  Close(MyFile);
   N:= N div 3;
   SetLength(Abonents, N);
   Reset(MyFile);
   while not eof(MyFile) do
   begin
    for i := 0 to N-1 do
     begin
        Readln(MyFile, str);
        Abonents[i].FIO:=str;
     end;
    for i := 0 to N-1 do
     begin
        Readln(MyFile, str);
        Abonents[i].Addres:=str;
     end;
     for i := 0 to N-1 do
     begin
        Readln(MyFile, str);
        Abonents[i].Number:=str;
     end;
   end;
   Close(MyFile);
   for I := 0 to N-1 do
     begin
       Writeln('Фамилия, имя, отчество: ', Abonents[i].FIO);
       Writeln('Адрес: ', Abonents[i].Addres);
       Writeln('Номер телефона: ', Abonents[i].Number);
       Writeln;
     end;
   Readln;
 
end.

Объяснение кода листинга программы

  1. Создается тип записи tAbon, который содержит поля FIO, Addres, Number типа string.
  2. Объявляется массив Abonents типа tAbon.
  3. Открывается файл MyFile с помощью функции Assign и указывается путь к файлу.
  4. Файл считывается с помощью функции Reset до конца.
  5. Переменная N инициализируется нулем.
  6. В цикле while с помощью функции Readln считываются строки из файла и увеличивается значение переменной N.
  7. Файл закрывается с помощью функции Close.
  8. Переменная N делится на три с помощью оператора div, чтобы получить количество записей в файле.
  9. Массив Abonents удлиняется с помощью функции SetLength до количества записей в файле.
  10. Файл снова открывается с помощью функции Reset.
  11. В цикле while в цикле for три раза считываются строки из файла и записываются в соответствующие поля массива Abonents.
  12. Файл закрывается с помощью функции Close.
  13. В цикле for выводятся значения полей массива Abonents на экран.
  14. Программа ожидает ввода с помощью функции Readln.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 3.867 из 5
Похожие ответы