Показать сообщение отдельно
Старый 02.07.2010, 00:04   #1 (permalink)
Тёмыч
WrighT
 
Аватар для Тёмыч
 
Регистрация: 21.11.2006
Сообщений: 1,881
Записей в дневнике: 1
Сказал(а) спасибо: 4
Поблагодарили 8 раз(а) в 2 сообщениях
Репутация: 1570
По умолчанию Программа для печати письма студентам, имеющим более трех задолженностей

Уважаемые знатоки помогите решить задачку.

Разработать программу для печати письма студентам, имеющим более трех задолженностей, с предупреждением об отчислении. если "хвосты" не будут сданы до срока 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.
Тёмыч вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070