Как правильно объявить в модуле переменную, тип данных которой описан в основной программе? - Pascal

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

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

Как обратиться из модуля к записе, которая определена в программе? Например, есть такой код основной программы:
uses add_sub1;
  type
    TSubscriber = record
    public
      surname : string[20];
      tel : LongInt;
    end;
 
var s : TSubscriber;
 
begin
 
  s.surname := 'asdf';
  s.tel := 1234;
  
  ad_rec(s);
end.
И есть такой модуль, в котором используется тип данных, описанный в основной программе:
unit add_sub1;
 
interface
  
    procedure ad_rec(new_s : TSubscriber);
implementation
 
    procedure ad_rec(new_s : TSubscriber);
    var f : file of TSubscriber;
    begin
    end;
 
end.
Выдаёт ошибку: неизвестное имя TSubsciber. Пробовал разные варианты и ничего не помогло. Как правильно объявить в модуле переменную, тип данных которой описан в основной программе?

Решение задачи: «Как правильно объявить в модуле переменную, тип данных которой описан в основной программе?»

textual
Листинг программы
unit add_sub1;
 
interface
uses my_record;    
    procedure ad_rec(new_s  : TSubscriber);
implementation
    procedure ad_rec(new_s  : TSubscriber);
    var s : TSubscriber;
        f : file of TSubscriber;
    begin
      assign(f,'type_file.dat');
      reset(f); // открытие уже существующего
      while not eof(f) do begin
        read(f,s);
        if(s.tel = new_s.tel) then write('Телефоны совпадают');
      end;
      write(f,new_s);
      close(f);
    end;
end.

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

  1. Создание переменной new_s типа TSubscriber для хранения новой записи в процедуре ad_rec(new_s : TSubscriber).
  2. Объявление локальных переменных:
    • s типа TSubscriber для временного хранения записи из файла.
    • f типа file of TSubscriber для работы с файлом.
  3. Присвоение переменной f значения 'type_file.dat' с помощью процедуры assign(f,'type_file.dat'), что указывает на файл типа TSubscriber.
  4. Открытие файла для доступа к его содержимому с помощью процедуры reset(f).
  5. Цикл чтения записей из файла и проверки на совпадение номеров телефонов, если совпадение найдено, выводится сообщение Телефоны совпадают.
  6. Запись новой записи new_s в файл с помощью процедуры write(f,new_s).
  7. Закрытие файла с помощью процедуры close(f).

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


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

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

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