Применение языков программирования высокого уровня для реализации численных методов и прикладных программ
Рефераты >> Программирование и компьютеры >> Применение языков программирования высокого уровня для реализации численных методов и прикладных программ

do

{

i++;

setcolor(random( MaxColors - random(15) ) + random(15));

setfillstyle(random(12), getmaxcolor());

// setcolor(random( MaxColors - random(15) ) + random(15));

pieslice(random(getmaxx()),random(getmaxy()),

random(360),random(360),random(150));

if(i>1000) {clearviewport();i=0;}

}

while( !kbhit() ); // повторение пока не нажата клавиша

getch();

clearviewport();

}

//

//круговая диаграмма

//

void diagram(void)

{

int sektors[] = {20,10,35,15,20};

char *percent[]={"20%","10%","35%","15%","20%"};

int secsize,k=0,i,r=150;

MainWindow( "Pie Chart Demonstration" );

StatusLine( "Press any key to continue ." );

settextjustify(CENTER_TEXT,CENTER_TEXT);

settextstyle(5,0,2);//установка атрибутов текста

outtextxy( getmaxx()/2,25,"This is the pie chart diagramm");

//процесс рисования диаграммы по данным из массива

for( i=0;i<5;i++)

{

secsize = (360 * sektors[i])/100;

setfillstyle(i,i);

pieslice((getmaxx()/2),(getmaxy()/2),k,k+secsize,r);

k = k+secsize;

}

//подписи процентов

outtextxy( getmaxx()/2+r+30,getmaxy()/2-70,percent[0]);

outtextxy( getmaxx()/2,getmaxy()/2-r-30,percent[1]);

outtextxy( getmaxx()/2-r-30,getmaxy()/2,percent[2]);

outtextxy( getmaxx()/2,getmaxy()/2+r+30,percent[3]);

outtextxy( getmaxx()/2+r+20,getmaxy()/2+50,percent[4]);

getch();

settextstyle(0,0,0);

clearviewport();

}

//

//функция демонстрации текста в графическом окне

//

void demotext(void)

{

int midx,midy,i;

MainWindow( "Demonstration text in the graphics screen" );

StatusLine( "Press any key to continue ." );

settextjustify(CENTER_TEXT,CENTER_TEXT);

midx=getmaxx()/2;

midy=getmaxy()/2;

outtextxy( midx,midy-40,"This programm will demonstrate to you all graphics");

outtextxy( midx,midy+40,"functions of the C++ language");getch();clearviewport();

for (i=0;i<11;i++)

{

settextstyle(i,0,0);

outtextxy(midx,midy-40,"This text is write by ");

outtextxy(midx,midy+40,Fonts[i]);

getch();clearviewport();

}

settextstyle(0,1,1); //вывод вертикального текста

outtextxy(midx,midy,"This programm created by Grinjoff Mark");

settextstyle(0,0,0);/*возвращениеи исходного начертания текста */

getch();

clearviewport();

}

//

//функция демонстрации рисования дуг и многоугольников

//

void demoarcs(void)

{

int poly[10];

MainWindow( "Arcs and polygons demonstration" );

StatusLine( "Press any key to continue ." );

xmax=getmaxx();

ymax=getmaxy();

i=0;

//рисование дуг с произвольным расположением и цветом

do

{

i++;

setcolor(random( MaxColors - random(15) ) + random(15));

arc(random(xmax),random(ymax),random(358),random(358),random(100));

if(i>10000) {clearviewport();i=0;}

}

while( !kbhit() ); // повторение пока не нажата клавиша

getch();

clearviewport();

i=0;

//рисование многоугольников с произвольным цветом

do

{

i++;

poly[0] = random(i+random(20));//1-вершина

poly[1] = random(random(ymax)/i+2);

poly[2] = xmax-(i+20); /* 2-я */

poly[3] = i+20;

poly[4] = xmax-(i+50); /* 3-я */

poly[5] = ymax-(i+20);

poly[6] = i+xmax/2; /* 4-я */

poly[7] = i+ymax/2;

/*

drawpoly автоматически не закрывает многоугольник

поэтому необходимо это сделать самому

*/

poly[8] = poly[0];

poly[9] = poly[1];

//рисует многоугольники, изменяя координаты вершин

setcolor(random( MaxColors - random(15) ) + random(15));

drawpoly(5, poly);

if(i>1000) {clearviewport();i=0;}

}

while( !kbhit() ); // повторение пока не нажата клавиша

getch();

clearviewport();

}

//

//функция демонстрации закрашеных многоугольников и //цветов

//

void demobars(void)

{

MainWindow( "Bars and colors demonstration" );

StatusLine( "Press any key to continue ." );

int kxb=15,kyb=15;

double stx,sty,x,y;

stx=floor(getmaxx()/kxb);

sty=floor(getmaxy()/kyb);

do

{

for(x=3;x<getmaxx();x+=stx){

for(y=3;y<getmaxy();y+=sty){

setcolor(random( MaxColors - random(15) ) + random(15));

setfillstyle(SOLID_FILL,random(getmaxcolor()));

bar(x+3,y+3,x+stx-3,y+sty-3);}}

}

while( !kbhit() ); // повторение пока не нажата клавиша

getch();

clearviewport();

}

//

//функция демонстрации трехмерных прямоугольников

//

void demo3dbars(void)

{

int i;

MainWindow( "3D Bars demonstration" );

StatusLine( "Press any key to continue ." );

do

{

i++;

setcolor(random( MaxColors - random(15) ) + random(15));

setfillstyle(random(5),random(getmaxcolor()));

bar3d( random( getmaxx() ), random( getmaxy() ),

random( getmaxx() ), random( getmaxy() ),10,1);

for(float j=0;j<50000;j++);//эмулятор задержки

if(i>100) {clearviewport();i=0;}

}

while( !kbhit() ); // повторение пока не нажата клавиша

getch();

clearviewport();

}

//

//функция создания завершающей страницы

//

void endpage(void)

{

MainWindow( "The cycle" );

StatusLine( "Press any key to continue ." );

int i,j,rad=50;

do

{

for (i=0;i<359;i++)

{

setcolor(random( MaxColors - random(15) ) + random(15));

pieslice(60,60,i,i+1,rad);

pieslice(580,60,i,i+1,rad);

pieslice(60,390,i,i+1,rad);

pieslice(580,390,i,i+1,rad);

}

for (i=0;i<getmaxx();i++)

{

setcolor(random( MaxColors - random(15) ) + random(15));

line(getmaxx()/2,10,i,getmaxy()/2);

line(getmaxx()/2,440,i,getmaxy()/2);

}

setcolor(0);

for (i=0;i<getmaxx();i++)

{

line(getmaxx()/2,10,i,getmaxy()/2);

line(getmaxx()/2,440,i,getmaxy()/2);

}

}

while( !kbhit() ); // повторение пока не нажата клавиша

getch();

clearviewport();

}

//

//функция калейдоскопа

//

void endpage1(void)

{

MainWindow( "The simple kaleidoscope" );

StatusLine( "Press any key for exit to DOS" );

int koord1[4],koord2[4],koord3[4];

//получение координат исходной линии

koord1[0]=random((getmaxx()/2)+10);

koord1[1]=random((getmaxy()/2)+10);

koord1[2]=random((getmaxx()/2)+10);

koord1[3]=random((getmaxy()/2)+10);

//получение координат конечной линии

koord2[0]=random((getmaxx()/2)+10);

koord2[1]=random((getmaxy()/2)+10);

koord2[2]=random((getmaxx()/2)+10);

koord2[3]=random((getmaxy()/2)+10);

//прорисовка

do

{

for (float t=0;t<1;t=t+0.01) //количество линий

{

for (int l=0;l<4;l++) //нахождение координат движения //линии


Страница: