Условие: Для группы Пт2-97 вывести фамилии студентов мужского пола старше 18 лет.
Идея: сначала мы формируем, вводим запись состоящую из имени, пола и возраста. Затем мы проверяем введенные данные на соответствие условию, т.е. пол мужской и возраст больше 17 лет, если запись удовлетворяет условию то записываем её в файл и так n раз!
{5.2.1.16}
uses crt;
type
rec=record
name:string[15];
pol:0..1;
age:integer;
end;
Var
A:rec; b:file of rec; i,n:integer; k:byte;
begin
clrscr;
assign(b,'D:\001.pas');
rewrite(b);
writeln('vvedite 4islo y4-kov');
readln(n); k:=0;
for i:=1 to n do
begin
writeln('vvedite familiu');
readln(A.name);
writeln('vozrast');
readln(A.age);
writeln('A.pol 0-g 1-m');
readln(A.pol);
if (A.pol=1) and (A.age>17) then begin write(b,A); k:=k+1; end;
end;
close(b);
reset(b); for i:=1 to k do
begin
read(b,A); writeln(A.name); writeln(A.age); writeln(A.pol); end;
close(b); readkey;
end.
Тест:
Вводимые данные:
Номер |
Фамилия |
Возраст |
Пол |
1 |
Сидоров |
17 |
М |
2 |
Мартынова |
19 |
Ж |
3 |
Белов |
18 |
М |
4 |
Петров |
25 |
М |
5 |
Голубкина |
19 |
Ж |
Что вывела программа: Белов 18 1
Петров 25 1