Ну очень плохо у меня с записями, даже на уровне такого детского сада, никак не могу их победить(
Задача:
Сведения об ученике состоят из имени, фамилии, года обучения и названия класса (буква), в котором он учится. Данные хранятся в типизированном файле заполняется через процедуру. Выяснить: 1) имеются ли Петровы в каком либо классе; 2) в каких классах более пяти учащихся; 3) У скольких человек в 8х и 10х классах фамилия начинается на букву А. Результаты сохранить в текстовом файле.
что я начудилаprogram Zapisi_v10;
const n=20;
type Stud=record {описываем запись}
Name:string [15];
FName:string [20];
Year:byte;
lable:string;
end;
Mass=array[1..n] of Stud; {Массив записей}
var
One:Stud; {1 запись}
S:Mass;
FI: file of Stud; {фаил исходных данных}
FR:text; {результирующий фаил}
i,a,b:integer;
procedure Zapolnenie(var S:Mass); {Процедура заполнения фаила исходных данных}
begin
rewrite (FI);
writeln('Введите данные учащихся:');
for i:=1 to n do
begin
writeln('Введите Имя:',' ');
read(S[i].Name);
writeoln('Введите фамилию:',' ');
read(S[i].FName);
writeln('Введите Класс:',' ');
read(S[i].Year);
writeln('Введите букву класса:',' ');
read(S[i].lable);
end;
for i:=1 to n do
write(FI,S[i]);
close(FI);
end;
procedure Petrovs (S:Mass); {Выяснить, имеются ли Петров или Петрова в каком либо классе}
var k:byte;
begin
writeln('Поищем Петровых?');
k:=0;
for i:=1 to n do begin
If S[i].FName=('Петров')or('Петрова') then begin
writeln ('Да, ',S[i].FName, ' есть в ', Year, S[i].lable);
k:=k+1;
end;
end;
If k:=0 then writeln ('Петровых нет');
end;
procedure FName_A (S:Mass); {Выяснить у скольких человек в 8х и 11х классах фамилия начинается на А}
var k: byte;
f:string;
begin
writeln('Сколько человек в 8 и 10 классах имеют фамилию на букву А?');
k:=0;
for i:=1 to n do begin {Для каждой записи проверяем}
f:=Copy(S[i].FName, 1, 1); {Первая буква фамилии}
If (f='А') and ((S[i].Year='8')or(S[i].Year='10')) then k:=k+1; {Если фамилия на А и класс 8й то +1}
end;
If k:=0 then writeln ('В 8х и 10х классах нет никого c фамилией на А')
else writeln ('В 8-х и 10-х классах ',k,' человек с фамилией на А');
end;
begin
Zapolnenie(S);
Assign(FI,'F:\Программирование 4 семестр\spisok.dat'); {Связываем с фаиловой переменной FI фаил}
reset(FI); {открываем его рид онли}
for i:=1 to n do read(FI,S[i]); {Заполняем от туда массив исходных данных}
close(FI);
Assign(FR,'F:\Программирование 4 семестр\result.txt'); {аналогично}
rewrite(t2); {открываем для записи}
{результат Поиска Петровых впих в result.txt}
{результат фамилий на А впих в result.txt}
....
....
end.
Как сделать второе?
Как засунуть результат выполнения процедур сразу в файл?
Как сделать чтоб это заработало?(
Поможите бедной студентке(