• Добро пожаловать на компьютерный форум Tehnari.ru. Здесь разбираемся с проблемами ПК и ноутбуков: Windows, драйверы, «железо», сборка и апгрейд, софт и безопасность. Форум работает много лет, сейчас он переехал на новый движок, но старые темы и аккаунты мы постарались сохранить максимально аккуратно.

    Форум не связан с магазинами и сервисами – мы ничего не продаём и не даём «рекламу под видом совета». Отвечают обычные участники и модераторы, которые следят за порядком и качеством подсказок.

    Если вы у нас впервые, загляните на страницу о форуме и правила – там коротко описано, как задать вопрос так, чтобы быстро получить ответ. Чтобы создавать темы и писать сообщения, сначала зарегистрируйтесь, а затем войдите под своим логином.

    Не знаете, с чего начать? Создайте тему с описанием проблемы – подскажем и при необходимости перенесём её в подходящий раздел.
    Задать вопрос Новые сообщения Как правильно спросить
    Если пришли по старой ссылке со старого Tehnari.ru – вы на нужном месте, просто продолжайте обсуждение.

Помогите найти ошибку

Татьяна19

Новые
Регистрация
15 Мар 2011
Сообщения
15
Реакции
0
Баллы
0
Помогите найти ошибку

Здравствуйте!помогите найти ошибку: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.
 
Назад
Сверху