program GoodBye; uses crt; type st=record group : string [5]; surname: string [20]; stipendia: integer; oznk: array [1..3] of byte; end; var file1:file of st; s:st; i:integer; otv:char; procedure create; begin rewrite (file1); i:=1; repeat with s do begin write ('Nomer gruppi:'); readln (group); write ('Surname:'); readln (surname); write ('stipendia:'); readln (stipendia); write ('ocenka po matem-ke:'); readln (oznk[1]); write ('ocenka po phizike:'); readln (oznk[2]); write ('ocenka po informatike:'); readln (oznk[3]); end; write (file1,s); inc(i); writeln (' prodolgit? (Y/n)'); otv:=readkey; until upcase(otv)='N'; close (file1); end; procedure view; begin reset (file1); writeln('ÉÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»'); writeln('º Nomer º º Stipendia, º OCENKI º'); writeln('º gruppi º Surname º rubl ÌÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍ͹'); writeln('º º º º matem º phizika º inform º'); writeln('ÌÍÍÍÍÍÍÍÍÎÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÎÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÎÍÍÍÍÍÍÍÎÍÍÍÍÍÍÍÍÍÎÍÍÍÍÍÍÍ͹'); while not EOF(file1) do begin read (file1,s); with s do begin writeln('º',group:8,'º',surname:18,'º',stipendia:20,'º',oznk[1]:7,'º',oznk[2]:9,'º',oznk[3]:8,'º'); end; end; writeln('ÈÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍͼ'); close (file1); end; procedure obrabotka; var kol,kol2,n,i:integer; srstip:real; begin kol:=0; n:=0; kol2:=0; reset (file1); writeln('ÉÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»'); writeln('º Nomer º º Stipendia, º OCENKI º'); writeln('º gruppi º Surname º rubl ÌÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍ͹'); writeln('º º º º matem º phizika º inform º'); writeln('ÌÍÍÍÍÍÍÍÍÎÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÎÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÎÍÍÍÍÍÍÍÎÍÍÍÍÍÍÍÍÍÎÍÍÍÍÍÍÍ͹'); while not EOF (file1) do begin read (file1,s); with s do begin kol:=0; if stipendia=0 then begin writeln('º',group:8,'º',surname:18,'º',stipendia:20,'º',oznk[1]:7,'º',oznk[2]:9,'º',oznk[3]:8,'º'); for i:=1 to 3 do begin if oznk[i]>=3 then kol:=kol+1; end; if kol=3 then kol2:=kol2+1; end; end; end; writeln('ÈÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍͼ'); writeln('kol-vo studentov s polog ocenkami:',kol2); end; procedure menu; var kn:char; begin repeat writeln('Viberite : 1 - Vvesti dannie'); writeln(' 2 - Prosmotret fail'); writeln(' 3 - Obrabotat dannie'); writeln(' 0 - Close'); kn:=readkey; clrscr; case kn of '1':create; '2':view; '3':obrabotka; end until kn='0' end; begin clrscr; assign (file1,'prog.dat'); menu; end.