Технический форум

Технический форум (http://www.tehnari.ru/)
-   Delphi, Kylix and Pascal (http://www.tehnari.ru/f43/)
-   -   Помогите найти ошибку (http://www.tehnari.ru/f43/t50273/)

Татьяна19 10.04.2011 16:55

Помогите найти ошибку
 
Здравствуйте!помогите найти ошибку:tehnari_ru_281:
Создать простейшую базу данных на основе типизированных файлов записей. Требуется - создать файл записей с заданным именем, поместив в него сведения о студентах потока (номер группы, фамилия, имя и три отметки за семестр). На основе файла выяснить процент успеваемости на "4" и "5" (количество студентов без "3", отнесенное к общему числу учащихся). Требуется также создать файл записей с заданным именем, поместив в него сведения о плохо успевающих студентах потока (с оценками "2" и "3") — номер группы, фамилия, имя, средний балл семестра, и вывести его записи на экран.
program z1;
uses
crt;
type
otmet = record
o1, o2, o3:integer;
end;

stud = record
gr: integer;
fam, name: string;
otm: otmet;
end;
neysp = record
gr: integer;
fam, name: string;
sr: real;
end;

var
f: file of stud;
g: file of neysp;
i, n: integer;
s: array [1 .. 20] of stud;
k: integer;
q: neysp;

begin
clrscr;
assign (f, 'stud.dat');
assign (g, 'neysp.dat');
k := 0;
reset (f);
n := 0;
rewrite (g);
while not EOF (f) do
begin
inc (n);
read (f, s [n]);
write (s [n].gr : 6);
write (s [n].fam : 15);
write (s [n].name : 15);
write (s [n].otm.o1 : 6);
write (s [n].otm.o2 : 6);
writeln (s [n].otm.o3 : 6);
if (s [n].otm.o1 > 3) and (s [n].otm.o2 > 3) and (s [n].otm.o3 > 3) then
k := k + 1
else
begin
q.gr := s [n].gr;
q.fam := s [n].fam;
q.name := s [n].name;
q.sr := (s [n].otm.o1 + s [n].otm.o2 + s [n].otm.o3) / 3;
write (g, q);
end;
end;
writeln ('');
writeln ('Horoshistov ', k/n*100:8:2,'%');
close (f);
close (g);
reset (g);
while not EOF (g) do
begin
read (g, q);
write (q.gr : 6);
write (q.fam : 15);
write (q.name : 15);
writeln (q.sr : 6 : 2);
end;
close (g);
readln;
end.


Часовой пояс GMT +4, время: 17:49.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.