понимаете осталась последняя задача и я её не как написать не могу в программу.
помогите кто может пожалуйста
Файл включает фамилию студента и их оценки по трём предметам в сессии. Распечатать по вводимой фамилии - оценки, а кроме того список студентов, получивших степендию ( не имеющих 2 и 3), получивших повышеную степендию(тока 5)
ну во первых обявляем тип
Type
Tname=string[20];
Trec=record
name1:Tname;
ball: array [1..3] of integer;
end;
TArrRec=array [1..50] of trec;
Tfile = file of Trec;
procedure Addfromfile(var s:TarrRec; var count:integer; f:Tfile);
begin
assign(f,'file.rec');
reset(f);
count:=0;
while not eof(f) do begin
count:=count+1;
read(f,s[count]);
end;
close(f);
end;
procedure showball(a:TarrRec; count:integer; s:Tname);
var i,j:integer;
begin
for i:=1 to count do
begin
if a[i].name1=s then begin
for j:=1 to 3 do
writeln(a[i].name1,' ',a[i].ball[1],' ',a[i].ball[2]' ',a[i].ball[3]);
end;
end;
procedure showball2(a:TarrRec; count:integer);
var i:integer;
begin
for i:=1 to count do
if (a[i].ball[1]=5) and (a[i].ball[2]=5) and (a[i].ball[3]=5) then
writeln(a[i].name1,' ',a[i].ball[1],' ',a[i].ball[2]' ',a[i].ball[3]);
end;
procedure Addfromfile(var s:TarrRec; var count:integer; VAR f:Tfile);, потому что Var в заголовке действует до первой ";"... А файл должен быть только параметром-переменной.
помоему лудше вобще вот так зделать
procedure Addfromfile(var s:TarrRec; var count:integer);
var
f:Tfile
begin
assign(f,'file.rec');
reset(f);
count:=0;
while not eof(f) do begin
count:=count+1;
read(f,s[count]);
end;
close(f);
end;
procedure showball2(a:TarrRec; count:integer);
var i:integer;
begin
for i:=1 to count do
if (a[i].ball[1]=5) and (a[i].ball[2]=5) and (a[i].ball[3]=5) then
writeln(a[i].name1,' ',a[i].ball[1],' ',a[i].ball[2]' ',a[i].ball[3]);
end;
а остальное все правильно?
незнаю почему но программа вообще не работает
Текст полный программы выложи.