Здраствуйте, нужен вас совет по ооп, переделываю программу в которой нужно было вывести студентов средний бал которых больше за 4: Вот код:
| Код | uses crt;
const n = 4; type tabl= array[1..n] of integer; info=object prizv:array[1..n] of string[15]; n,matan,prog,os,alg:tabl; procedure lin; procedure rah; end; procedure info.lin; var i:integer; begin for i:=1 to 64 do write('-'); writeln; end; var i: integer; sp:info;
begin writeln('VVedi dani stydentiv'); for i := 1 to n do begin tabl[i].N := i; readln(sp.Prizv[i], sp.matan[i], sp.prog[i], sp.OS[i], sp.alg[i]); end;
sp.Lin; writeln('| | Призвіще | Matematuchnuy | Programyvannya | OS | Algebra | cer|'); writeln('| | | analis | | | i geom.| |'); Lin(69); for i := 1 to n do begin write('|', tabl[i].N: 2, ' |', tabl[i].Prizv: 10, '|'); write(sp.matan[i]: 15, '|', sp.prog[i]: 16, '|', sp.OS[i]: 4, '|', sp.alg[i]: 9, '|', ((sp.matan[i] + sp.prog[i] + sp.OS[i] + sp.alg[i]) / n): 0: 2, '|'); writeln; sp.Lin; end; writeln; writeln('vidcortov'); sp.Lin; for i := 1 to n do begin if ((sp.matan[i] + tabl.prog[i] + sp.OS[i] + sp.alg[i]) / 4 >= 4) then begin write('|', sp.N[i]: 2, ' |', sp.Prizv[i]: 10, '|'); write(sp.matan[i]: 15, '|', sp.prog[i]: 16, '|', sp.OS[i]: 4, '|', sp.alg[i]: 9, '|', ((sp.matan[i] + sp. prog[i] + sp.OS[i] + sp.alg[i]) / n): 0: 2, '|'); writeln; sp.Lin; end; end; readln end.
|
пока такое наработал. возможно ли само условие для вывода студентов средний бал у которых больше за 4 формить в виде процедуры ооп? спасибо |