Как вывести на экран книгу с заданным годом издания (нужно указать в write), упорядоченные по алфавиту, а если таковых нет, то выдать соответствующее сообщение; а так же отсортировать записи в порядке возрастания цены книги.
Файл, я сделал, прикладываю. Если кто-то поможет буду благодраен. Видел похожую программу, но не могу сделать под себя..
program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils;
type
qwe=record
fio,db:string;
a,b,c:byte;
end;
rty=record
a:real;
b:integer;
end;
const
n=10;
var
d:array[1..n]of qwe;
e:array[1..n]of rty;
f:text;
i,j,x,y:integer;
s:string;
begin
i:=1;
assign(f,'school');
reset(f);
while not(eof(f)) do begin
readln(f,d[i].fio);
readln(f,d[i].db);
readln(f,d[i].a,d[i].b,d[i].c);
i:=i+1;
end;
for i:=1 to n do begin
e[i].a:=(d[i].a+d[i].b+d[i].c)/3;
e[i].b:=i;
end;
for i := n downto 2 do
for j := 2 to i do
if e[j].a < e[j - 1].a then
begin
x := Round(e[j].a);
y:=e[j].b;
e[j].a := e[j - 1].a;
e[j].b := e[j - 1].b;
e[j - 1].a := x;
e[j - 1].b := y;
end;
for i:=1 to n do
writeln(d[e[i].b].fio,': ',e[i].a);
writeln('Vvdeite FIO');
readln(s);
for i:=1 to n do if d[i].fio=s then
writeln('FIO: ',d[i].fio,', DR: ',d[i].db,', Osenki: ',d[i].a:2,d[i].b:2,d[i].c:2);
writeln('Srednie ball menishe treh:');
for i:=1 to n do if e[i].a<=3 then writeln(d[e[i].b].fio,': ',e[i].a);
readln;
end.
Она делат вот что - Дан файл в котором содержится информация о школьниках:
1) Ф.И.О.
2) год рождения, месяц, число
3) оценки экзаменов
а) отсортировать записи по возрастанию среднего
экзаменационного балла;
б) по запросу по Ф.И.О. - выдать средний балл;
в) распечатать ведомость школьников со средним баллом
меньше 3.