Procedure Rezult;

 

Var n_name, n_oc:string;

 

Begin{Procedure}

Repeat

ClearDevice;

n_menu:=12;

Ramka;

f_name:='test_men.pas';

Assign(f,f_name);

Chtenie;

Kursor;

x:=p_kur;

If n_menu=13

Then

Begin{Then}

ClearDevice;

Ramka;

Rectangle(40,150,600,180);

SetColor(Red);

OutTextXY(120,100,'Введите номер группы');

SetColor(White);

GoToXY(10,11);

Readln(grup);

ClearDevice;

Ramka;

SetColor(White);

OutTextXY(40,70,'1. Вывести рез-ты для одного студента');

OutTextXY(40,90,'2. Вывести рез-ты для всей группы (таблица)');

OutTextXY(40,110,'3. Вывести рез-ты для всей группы (график)');

OutTextXY(40,130,'Для возврата к предыдущему меню нажмите (Esc)');

kol_kur:=4;

Kursor;

If n_menu=14

Then

Begin{Then}

Reset(f_sp_gr);

If p_kur=1

Then

Begin{Then}

ClearDevice;

Ramka;

SetColor(Green);

Rectangle(40,150,600,180);

SetColor(White);

OutTextXY(210,130,'Введите Ф.И.О. студента');

GoToXY(10,11);

Readln(name);

End;{Then}

ClearDevice;

kol_stud:=0;

d_ki:=0;

t_ki:=0;

ch_ki:=0;

p_ki:=0;

Rewrite(f1);

While not EOF

Begin{While}

Readln(f_sp_gr,stroka);

If p_kur=1

Then

Begin{Then}

stroka:=name;

End;{Then}

Reset(f_rez_gr);

prizn:=0;

kol_raz:=0;

While not EOF

Begin{While}

Readln(f_rez_gr,stroka_rez);

perem:=Copy(stroka_rez,1,Length(stroka));

If stroka=perem

Then

Begin{Then}

perem:=Copy(stroka_rez,Length(stroka)+1, Length(mas_pun[x]));

If mas_pun[x]=perem

Then

prizn:=1;

End{Then}

Else

prizn:=0;

If prizn=1

Then

Begin{Then}

kol_raz:=kol_raz+1; ocen:=copy(stroka_rez,Length(stroka_rez),1);

End;{Then}

End;{While}

If kol_raz>0

Then

Begin{Then}

Val(ocen,ocen2,Osh);

Case ocen2 of

2: d_ki:=d_ki+1;

3: t_ki:=t_ki+1;

4: ch_ki:=ch_ki+1;

5: p_ki:=p_ki+1;

End;{Case}

Write(f1,stroka);

Write(f1,kol_raz);

Writeln(f1,ocen);

kol_stud:=kol_stud+1;

End;{Then}

Close(f_rez_gr);

If p_kur=1

Then

While not EOF(f_sp_gr)do

Begin

Readln(f_sp_gr,stroka);

End;

End;{While}

Close(f1);

Case p_kur of

1,2:Begin{1,2}

If kol_stud<>0

Then

Begin{Then}

OutTextXY(40,70,'Ф.И.О.');

OutTextXY(220,70,'Кол-во прохождений оценка');

Line(200,70,200,400);

Line(420,70,420,400);

Line(40,82,600,82);

Reset(f1);

y1:=90;

Ramka;

OutTextXY(70,40,mas_pun[x]);

SetColor(Green);

Rectangle(40,430,600,445);

SetColor(White);

While not EOF(f1)do

Begin

Readln(f1,stroka);

n_oc:=copy(stroka,length(stroka)-1,2);

Delete(stroka,length(stroka)-1,2);

Insert(' ',n_oc,2);

OutTextXY(40,y1,stroka);

OutTextXY(320,y1,n_oc);

y1:=y1+20;

End;

Close(f1);

End{Then}

Else

Begin{Else}

Ramka;

OutTextXY(70,40,mas_pun[x]);

SetColor(Green);

Rectangle(40,430,600,445);

End;{Else}

End;{1,2}

3:Begin{2}

Diagram;

End;{3}

End;{Case}

Readkey;

Close(f_sp_gr);

key:='q'

End{Then}

Else

key:='q';

End;{Then}

Until key<>'q';

n_menu:=1;

proc:='s';

End;{Procedure}