if maxm>maxf then max:=maxm;
if maxm<maxf then max:=maxf;
if maxm=maxf then max:=maxm;
windows(9, 3, 71, 22, 1); textbackground(12);
for x:=9 to 71 do
begin
gotoxy(x, 4); write(' ');
end; {for x:=9 to 71}
gotoxy(33, 4); textcolor(15); write('ОТЧЕТ НОМЕР 4');
textbackground(1); gotoxy(10, 6); write('Число мужчин и женщин,',
' вставших на учет в текущем (',curyear,') году');
gotoxy(24, 7); write('┌───────────┬─────────┬─────────┐');
gotoxy(24, 8); write('│ Месяц │ Мужчины │ Женщины │');
gotoxy(24, 9); write('├───────────┼─────────┼─────────┤');
for j:=1 to 12 do
begin
gotoxy(24, 9+j); write('│ ');
case j of
1: write('Январь');
2: write('Февраль');
3: write('Март');
4: write('Апрель');
5: write('Май');
6: write('Июнь');
7: write('Июль');
8: write('Август');
9: write('Сентябрь');
10: write('Октябрь');
11: write('Ноябрь');
12: write('Декабрь');
end; {case j}
gotoxy(36, 9+j); write('│'); gotoxy(42, 9+j); write(male[j]);
gotoxy(46, 9+j); write('│'); gotoxy(52, 9+j); write(female[j]);
gotoxy(56, 9+j); write('│');
end; {for j:=1 to 12}
gotoxy(24, 10+j);
write('└───────────┴─────────┴─────────┘');
bottom(51); {вывод строки состояния}
readkey;
gd:=VGA;
gm:=VGAhi;
initgraph(gd,gm,''); {инициализаия графического режима}
if graphresult=grok then
begin
setcolor(15);
outtextxy(30,2,'Графики числа вставших на учет женщин и мужчин по месяцам текущего года');
setlinestyle(0,0,3);
setcolor(1); line(270,17,290,17); setcolor(4); line(270,27,290,27);
setlinestyle(0,0,1); setcolor(15);
outtextxy(300,14,'мужчины'); outtextxy(300,24,'женщины');
line(50,400,590,400); line(50,40,50,400);
outtextxy(580,410,'месяцы');
outtextxy(2,20,'кол-во');
for j:=0 to 11 do
begin
setcolor(8); setlinestyle(3,0,1);
if j>0 then line(50+45*j,395,50+45*j,40);
setcolor(15); setlinestyle(0,0,1); line(50+45*j,395,50+45*j,405);
settextstyle(0,1,1);
case j of
0: outtextxy(54+45*j,406,'январь');
1: outtextxy(54+45*j,406,'февраль');
2: outtextxy(54+45*j,406,'март');
3: outtextxy(54+45*j,406,'апрель');
4: outtextxy(54+45*j,406,'май');
5: outtextxy(54+45*j,406,'июнь');
6: outtextxy(54+45*j,406,'июль');
7: outtextxy(54+45*j,406,'август');
8: outtextxy(54+45*j,406,'сентябрь');
9: outtextxy(54+45*j,406,'октябрь');
10: outtextxy(54+45*j,406,'ноябрь');
11: outtextxy(54+45*j,406,'декабрь');
end; {case j}
end; {for j:=0 to 11}
my:=350 div max; {расчет единичного шага в пикселях по вертикали}
for j:=max downto 0 do
begin
setcolor(8); setlinestyle(3,0,1);
if j>0 then line(55,400-my*j,570,400-my*j);
setcolor(15); setlinestyle(0,0,1);
line(45,400-my*j,55,400-my*j);
settextstyle(0,0,1); settextjustify(2,2);
str(max-j,txty); outtextxy(40,49+my*j,txty);
end; {for j:=max downto 0}
setcolor(1);
for j:=1 to 11 do line(50+45*(j-1),400-my*male[j],50+45*j,400-my*male[j+1]);
setcolor(4);
for j:=1 to 11 do line(50+45*(j-1),400-my*female[j],50+45*j,400-my*female[j+1]);
setcolor(15); settextjustify(0,2); outtextxy(110,470,'Нажмите любую клавишу для возврата к выбору отчетов');
readkey;
closegraph; {выход из графического режима}
end; {if graphresult=grok}
reports; {вызов меню отчетов}
end; {report4}
{раздел инициализации модуля}
begin
end.
{Модуль, реализующий выполнение отчёта номер 5 – построение круговой диаграммы, отражающей долю вставших на учёт людей с высшим, средним специальным, средним, неполным средним, начальным образованием за указанный пользователем месяц.}
unit agrep5;
{интерфейсная часть модуля}
interface
uses crt, graph, agsub, agthird;
procedure report5; {процедура формирования отчета номер 5}
{раздел реализации модуля}
implementation
procedure report5;
var
gd, gm: integer;
mm, gggg, comp, s, i, j, x, stang, endang, perc, code: integer;
educ, ang: array[1..5] of integer;
educp: array[1..5] of real;
txty: string[10];
flag: boolean;
test: string;
begin
bottom(2); {вывод строки состояния}
repeat {ввод месяца с проверкой правильности}
flag:=true;
repeat
top(51); {вывод заголовка окна}
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.