1. Программа, которая создает файл
// PascalABC.NET 3.3, сборка 1547 от 07.10.2017
// Внимание! Если программа не работает, обновите версию!
type
tДатаРождения=record
день, месяц, год:integer
end;
tАдрес=record
город:string[16];
улица:string[16];
дом:string[16]
end;
tСтудент=record
ФИО:string[24];
Датарождения:tДатаРождения;
Пол:char; // М/Ж
Адрес:tАдрес
end;
begin
Writeln('Вводите данные анкеты, значение * в ФИО - конец ввода');
var Stud:tСтудент;
var f:file of tСтудент;
Rewrite(f,'Student.bin');
while true do begin
Stud.ФИО:=ReadlnString('ФИО студента:');
if Stud.ФИО='*' then break;
Writeln('День, месяц и год рождения: ');
Readln(Stud.Датарождения.день, Stud.Датарождения.месяц,
Stud.Датарождения.год);
Stud.Пол:=ReadlnChar('Пол (М/Ж):').ToUpper;
Stud.Адрес.город:=ReadlnString('Город:');
Stud.Адрес.улица:=ReadlnString('Улица:');
Stud.Адрес.дом:=ReadlnString('Дом:');
Write(f,Stud);
end;
f.Close
end.
2. Программа, которая выводит существующий файл
type
tДатаРождения=record
день, месяц, год:integer
end;
tАдрес=record
город:string[16];
улица:string[16];
дом:string[16]
end;
tСтудент=record
ФИО:string[24];
Датарождения:tДатаРождения;
Пол:char; // М/Ж
Адрес:tАдрес
end;
begin
var Stud:tСтудент;
var f:file of tСтудент;
Reset(f,'Student.bin');
while not Eof(f) do begin
Read(f,Stud);
Writeln(Stud.ФИО,' (',Stud.Пол,'), ',Stud.Датарождения.день,'.',
Stud.Датарождения.месяц,'.',Stud.Датарождения.год,', ',
Stud.Адрес.город,', ',Stud.Адрес.улица,', ',Stud.Адрес.дом);
end;
f.Close
end.
3. Программа, которая делает все это вместе
type
tДатаРождения=record
день, месяц, год:integer
end;
tАдрес=record
город:string[16];
улица:string[16];
дом:string[16]
end;
tСтудент=record
ФИО:string[24];
Датарождения:tДатаРождения;
Пол:char; // М/Ж
Адрес:tАдрес
end;
begin
Writeln('Вводите данные анкеты, значение * в ФИО - конец ввода');
var Stud:tСтудент;
var f:file of tСтудент;
Rewrite(f,'Student.bin');
while true do begin
Stud.ФИО:=ReadlnString('ФИО студента:');
if Stud.ФИО='*' then break;
Writeln('День, месяц и год рождения: ');
Readln(Stud.Датарождения.день, Stud.Датарождения.месяц,
Stud.Датарождения.год);
Stud.Пол:=ReadlnChar('Пол (М/Ж):').ToUpper;
Stud.Адрес.город:=ReadlnString('Город:');
Stud.Адрес.улица:=ReadlnString('Улица:');
Stud.Адрес.дом:=ReadlnString('Дом:');
Write(f,Stud);
end;
Seek(f,0);
while not Eof(f) do begin
Read(f,Stud);
Writeln(Stud.ФИО,' (',Stud.Пол,'), ',Stud.Датарождения.день,'.',
Stud.Датарождения.месяц,'.',Stud.Датарождения.год,', ',
Stud.Адрес.город,', ',Stud.Адрес.улица,', ',Stud.Адрес.дом);
end;
f.Close
end.
Пример работы программы 3)
Вводите данные анкеты, значение * в ФИО - конец ввода
ФИО студента: Иванов И.И.
День, месяц и год рождения:
24 6 1998
Пол (М/Ж): м
Город: Москва
Улица: пр.Ленина
Дом: 152, кор.3
ФИО студента: Петрова Т.Н.
День, месяц и год рождения:
13 11 1999
Пол (М/Ж): ж
Город: Тверь
Улица: ул.Сиреневая
Дом: 18
ФИО студента: *
Иванов И.И. (М), 24.6.1998, Москва, пр.Ленина, 152, кор.3
Петрова Т.Н. (Ж), 13.11.1999, Тверь, ул.Сиреневая, 18