Организовать файл записей HOSPITAL - Turbo Pascal (35898)
Формулировка задачи:
Организовать файл записей HOSPITAL, содержащих следующие поля: фамилия, имя, отчество, номер участка, год рождения, адрес. Написать программу, выполняющую следующие действия:
Ввод с клавиатуры данных о 4 пациентах, вывод на экран фамилий пациентов, проживающих на участке, номер которого введён с клавиатуры.
Решение задачи: «Организовать файл записей HOSPITAL»
textual
Листинг программы
const csize=4; type Hospital=record name,sname:string[15]; fam,addr:string[30]; num,year:integer; end; THospital=file of Hospital; var f:THospital; hos:Hospital; n:integer; procedure InputData; var i:byte; begin for i:=1 to csize do begin write('Фамилия : '); readln(hos.fam); write('Имя : '); readln(hos.name); write('Отчество : '); readln(hos.sname); write('Год рождения : '); readln(hos.year); write('Адрес : '); readln(hos.addr); write('Номер участка : '); readln(hos.num); writeln; write(f,hos); end; end; procedure PrintData; begin writeln('Фамилия : ',hos.fam); writeln('Имя : ',hos.name); writeln('Отчество : ',hos.sname); writeln('Год рождения : ',hos.year); writeln('Адрес : ',hos.addr); writeln; end; procedure RequestData(an:integer); var i:byte; begin while not eof(f) do begin read(f,hos); if n=hos.num then PrintData; end; end; begin assign(f,'RecFile.dat'); rewrite(f); writeln('Ввод данных.'); InputData; write('Введите номер участка : '); readln(n); writeln; reset(f); RequestData(n); close(f); readln; end.
Объяснение кода листинга программы
- В процедуре InputData происходит чтение данных из файла Hospital. Данные читаются по одному элементу за раз, используя цикл for.
- Каждая строка чтения начинается с запроса на ввод данных, например
Фамилия :
. - Затем происходит чтение значений переменных фамилия, имя, отчество, год рождения, адрес и номер участка.
- После чтения данных они записываются в файл Hospital с помощью функции write.
- Запись в файл завершается вызовом функции writeln.
- В конце каждой строки чтения вызывается функция readln для перехода на следующую строку.
- Если введенный номер участка совпадает с номером участка в записи, то вызывается процедура PrintData для вывода информации о пациенте.
- В процедуре RequestData происходит чтение данных из файла Hospital до тех пор, пока не будет достигнут конец файла (не достигнута строка с номером участка, совпадающим с введенным номером).
- Если введенный номер участка совпадает с номером участка в записи, то вызывается процедура PrintData для вывода информации о пациенте.
- После завершения чтения данных файл сбрасывается с помощью функции reset.
- Затем происходит вызов процедуры InputData для продолжения чтения данных.
- При закрытии файла вызывается функция close.
- В конце программы выводится сообщение
Введите номер участка :
и происходит чтение введенного номера участка. - Затем происходит вызов процедуры RequestData для вывода информации о пациенте.
- После этого программа завершается вызовом функции readln.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д