Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.02.2014, 16:48   #1
fanat_iam
 
Регистрация: 20.12.2013
Сообщений: 3
По умолчанию Использование записей в типизированных файлах

Всем доброго времени суток. Получил задание от препода написать программу, которая выполняет следующие условия:
Каждая запись содержит поля: номер группы, фамилия студента, оценки по экзаменам и по зачётам. Количество записей произвольное. Написать программу, выводящую на экран следующую информацию:
- фамилии неуспевающих с указанием группы и числа задолженностей;
- средний балл по группе и по каждому студенту группы.

Я написал код, но при подсчете среднего балла очень сильно запутался и теперь понять не могу, как правильно его считать... Программа то работает, но у меня есть сомнения в её правильности. Поэтому прошу знающих людей посмотреть мое "творение" и сказать, что в нем не так

Код:
program abc;
const n = 3;
type Tstud=record
family:string[30];
mark1:integer;
mark2:integer;
group:byte;
end;
var
rstud:tstud;
fstud:file of tstud;
s:string;
i,k,x:integer;
l,f:real;
begin

writeln ('vvedite polnii put');
readln (s);
assign(fstud,s);
rewrite(fstud);
for i:=1 to 3 do
begin
writeln ('vvedite familiy');
readln(rstud.family);
writeln ('vvedite index gruppi');
readln (rstud.group);
writeln ('ocenka za ekzamen');
readln (rstud.mark1);
writeln ('ocenka za zachet');
readln (rstud.mark2);
write (fstud,rstud);
end;
CLOSE (fstud);
reset(fstud);

while not eof (fstud) do
begin
read (fstud,rstud);
if rstud.mark1<2 then begin
k:=k+1;
with rstud do begin
writeln ('famili9:',rstud.family);
writeln ('index gruppi:',rstud.group);
writeln ('ocenka:',rstud.mark1);
writeln ('za zachet',rstud.mark2);
end;
end;                               end;
writeln('neuspevaushie u4eniki:',k);
writeln ('vvedite nomer gruppi');
readln (x);
close (fsTUD);
reset (fstud);
 while not eof (fstud) do
begin
read (fstud,rstud);

with rstud do begin
if rstud.group=x then begin
l:=l+rstud.mark1;
f:=l+rstud.mark1+ l+rstud.mark2/2;
writeln ('famili9:',rstud.family);
writeln ('index gruppi:',rstud.group);
writeln ('ocenka:',rstud.mark1);
writeln ('za zachet',rstud.mark2);
end;
end;
end;
writeln('srendii bal gruppi:',l/n:2:3);
writeln ('srednii ball studenta:',f:2:3);
close (fstud);
readln;
readln;
end.

Последний раз редактировалось Stilet; 08.02.2014 в 19:21.
fanat_iam вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Написать прогу. Вроде нереал на типизированных файлах. Snube Помощь студентам 1 12.06.2012 22:50
Сумма цифр в типизированных файлах Шпилька Помощь студентам 0 15.05.2012 16:29
Электронная Энциклопедия на типизированных файлах! (Delphi) Willes Помощь студентам 0 06.05.2011 11:00
как удалить значение в типизированных файлах Лукманов Александр Общие вопросы Delphi 3 10.03.2009 10:07