Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.06.2010, 20:10   #1
Andreyko
 
Регистрация: 30.05.2010
Сообщений: 9
По умолчанию Как нарисовать цилиндр ?

В общем, нужно нарисовать цилиндр в паскале, и так, что бы он отображался при выборе задачи. вот то, что есть:
uses
crt, graph;
const
p:array[1..7] of string =('Cilindr','PrSter','Ravno','PrPla nka','Ster','Snravka','exit');
var
d:boolean;
Gd,Gm:integer;
x1,x2,y1,y2,z,i,j:integer;
s:char;
procedure menu;
begin
rectangle(0,0,639,450);
setfillstyle(11,1);
bar(1,1,638,449);
y1:=1;
x2:=80;
y2:=20;
for i:=1 to 7 do
begin
setcolor(3);
rectangle(1,y1,x2,y2);
setfillstyle(1,6);
bar(2,y1+1,x2-1,y2-1);
setcolor(15);
line(0,y2+1,81,y2+1);
y1:=y1+21;
y2:=y2+21
end;
setcolor(10);
x1:=7;
y1:=1;
x2:=80;
y2:=20;
j:=9;
for i:=1 to 7 do
begin
if z=i then
begin
setfillstyle(1,9);
bar(1,y1,x2,y2);
setcolor(15);
if i=7 then
j:=24
else
j:=9;
outtextxy(j,x1,p[i]);
end
else
if i=7 then
j:=24
else
j:=9;
outtextxy(j,x1,p[i]);
x1:=x1+21;
y1:=y1+21;
y2:=y2+21;
rectangle(100,20,400,200);
setfillstyle(7,1);
bar(101,21,399,199);
case z of
1:begin
outtextxy(108,28,'umova 1');
outtextxy(107,36,'');
end;
2:begin
outtextxy(108,28,'umova 2');
outtextxy(102,36,'');
end;
3:begin
outtextxy(108,28,'umova 3');
end;
4:begin
outtextxy(108,28,'umova 4');
outtextxy(107,36,'');
outtextxy(107,44,'');
outtextxy(107,60,'');
outtextxy(107,68,'');
end;
5:begin
outtextxy(107,28,'umova 5');
end;
6:begin
outtextxy(107,28,'Spravka po programi');
end;
7:begin
outtextxy(107,28,'Zavershennya roboti');
end;
end;
end;
setcolor(15);
line(81,0,81,147);
if s<>#0 then
s:=readkey;
end;
procedure vixod;
begin
if s=#13 then
halt;
end;
procedure triugolnik;
const Y = 220;
var
g: Pointer;
t: Word;
begin
setfillstyle(1,0);
bar(0,0,640,480);
Line(0, Y, 0, Y+30);
Line(0, Y+30, 30, Y+15);
Line(30, Y+15, 0, Y);
GetMem(g, ImageSize(0, Y, 30, Y+30));
GetImage(0, Y, 30, Y+30, g^);
OutTextXY(50,440,'dli vixoda nagmite lubui klavihu');
t := 0;
While ( (not KeyPressed)and(t+30 <= GetMaxX) ) do
begin
PutImage(t, Y, g^, XORPUT);
t := t + 1;
PutImage(t, Y, g^, XORPUT);
Delay(1000)
end;
PutImage(t-1, Y, g^, XORPUT);
readkey;
menu
end;
procedure krug;
var
pp:array[1..9] of pointtype;
c,v:word;
r,xm,ym:integer;
begin
rectangle(120,90,300,190);
setfillstyle(7,0);
bar(121,91,299,189);
outtextxy(127,99,'vvedite F= ');
gotoxy(33,7);
read(r);
rectangle(120,90,300,190);
setfillstyle(7,0);
bar(121,91,299,189);
outtextxy(127,99,'vvedite P= ');
gotoxy(33,7);
read(r);
setfillstyle(1,0);
bar(0,0,640,480);
xm:=300;
ym:=239;
circle(xm,ym,r);
pp[1].x:=xm+r;
pp[1].y:=ym;
pp[2].x:=xm+round(sqrt(sqr(r)/2));
pp[2].y:=ym-round(sqrt(sqr(r)/2));
pp[3].x:=xm;
pp[3].y:=ym-r;
pp[4].x:=xm-round(sqrt(sqr(r)/2));
pp[4].y:=ym-round(sqrt(sqr(r)/2));
pp[5].x:=xm-r;
pp[5].y:=ym;
pp[6].x:=xm-round(sqrt(sqr(r)/2));
pp[6].y:=ym+round(sqrt(sqr(r)/2));
pp[7].x:=xm;
pp[7].y:=ym+r;
pp[8].x:=xm+round(sqrt(sqr(r)/2));
pp[8].y:=ym+round(sqrt(sqr(r)/2));
pp[9]:=pp[1];
drawpoly(9,pp);
xm:=xm+76;
ym:=ym+16;
OutTextXY(50,440,'dli vixoda nagmite lubui klavihu');
readkey;
menu
end;
procedure perehod;
begin
while d= false do
begin
s:=readkey;
while s=#80 do
begin
if z<7 then
z:=z+1
else
z:=1;
menu
end;
while s=#72 do
begin
if z>1 then
z:=z-1
else
z:=7;
menu
end;
while s=#13 do
begin
case z of
1:krug;
2..4:Perehod;
5:triugolnik;
6:Perehod;
7:vixod;
end;
end;
end;
end;
begin
clrscr;
Gd:=detect;
initGraph(Gd,Gm,'..\bgi ');
z:=1;
menu;
perehod;
readkey
end.


Куда поместить нарисований цилиндр ?
Andreyko вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как нарисовать отрезок. deadh5n1 Помощь студентам 1 20.04.2010 23:24
Как в аплете нарисовать цилиндр? Лис_ Общие вопросы по Java, Java SE, Kotlin 0 28.12.2008 21:08
Как нарисовать картинку сбоку в меню как в Punto Switcher Crazyman Win Api 4 26.09.2008 18:13
Помогите разобраться в поверхности: цилиндр это или нет Taisja Помощь студентам 7 18.06.2008 21:12
OpenGL (цилиндр) -=<[Evklidd]>=- Gamedev - cоздание игр: Unity, OpenGL, DirectX 7 01.02.2008 13:51