Уважаемые знатоки
помогите решить задачку.
Разработать программу для печати письма студентам, имеющим более трех задолженностей, с предупреждением об отчислении. если "хвосты" не будут сданы до срока X (рекомендуется указать предметы и циклы , по которым имеются задолженности).
вот что смог по памяти набросать, на самое главное можно сказать не смог сделать
Код:
program lab7;
type
stud=record
Familiya: string [13];
um9: string [12];
Ot4estvo: string [12];
Pol : string [1];
DataRojd: string [11];
gruppa : string [5];
Matemat : integer;
fizika: integer;
istoriya : integer;
informatika : integer;
end;
var
studfile:file of stud;
recstud: stud;
i,rej,y:integer;
procedure org;
begin
assign (studfile, 'c:/USP.DAT');
rewrite (studfile);
with recstud do
while true do
begin
if y=2
then
begin
close (studfile);
exit;
end;
writeln ('vvedite familiio');
readln (familiya);
writeln ('vvedite im9');
readln (um9);
writeln ('vvedite ot4estvo');
readln (ot4estvo);
writeln ('vvedite pol');
readln (pol);
writeln ('vvedite daty rojdenia');
readln (DataRojd);
writeln ('vvedite gryppy');
readln (gruppa);
for i:=1 to 3 do
begin
writeln ('matematika');
readln (Matemat);
end;
for i:=1 to 3 do
begin
writeln ('fizika');
readln (fizika);
end;
for i:=1 to 3 do
begin
writeln ('istoriya');
readln (istoriya);
end;
for i:=1 to 3 do
begin
writeln ('informatika');
readln (informatika);
end;
writeln ('prodoljit vvod? 1-da , 2- net');
readln (y);
write (studfile,recstud);
end;
end; {org}
procedure obr;
begin {obr}
assign (studfile, 'c:/USP.DAT');
reset (studfile);
with recstud do
while not eof(studfile) do
begin
read (studfile, recstud);
{ (matemat,fizika,istoriya,informatika);
if matemat+fizika+istoriya+informatika<9 then}
writeln ('|',familiya: 1,'|',um9:4,'|',ot4estvo:12,'|', pol: 2,'|', Datarojd:11,'|',gruppa: 5,'|');
end;
close (studfile);
end; {obr}
procedure korr;
begin {korr}
assign (studfile,'c:/USP.DAT');
reset (studfile);
seek (studfile, filesize(studfile));
with recstud do
while true do
begin
if y=2
then
begin
close (studfile);
exit;
end;
writeln ('vvedite familiio');
readln (familiya);
writeln ('vvedite im9');
readln (um9);
writeln ('vvedite ot4estvo');
readln (ot4estvo);
writeln ('vvedite pol');
readln (pol);
writeln ('vvedite daty rojdenia');
readln (DataRojd);
writeln ('vvedite gryppy');
readln (gruppa);
for i:=1 to 3 do
begin
writeln ('matematika');
readln (Matemat);
end;
for i:=1 to 3 do
begin
writeln ('fizika');
readln (fizika);
end;
for i:=1 to 3 do
begin
writeln ('istoriya');
readln (istoriya);
end;
for i:=1 to 3 do
begin
writeln ('informatika');
readln (informatika);
end;
writeln ('prodoljit vvod? 1-da , 2- net');
readln (y);
write (studfile, recstud);
end;
end; {korr}
begin {prog}
while true do
begin
writeln ('rejimbl');
writeln ('1: co3danie faila');
writeln ('2: pokazat ot4isl9emblx');
writeln ('3: do6avit studentov');
writeln ('4: Bblxod');
readln (rej);
case rej of
1: org;
2: obr;
3: korr;
4: halt;
else
writeln ('error povtorite vvod');
end;
end;
end.