WWW.REFERATCENTRAL.ORG.UA - Я ТУТ НАВЧАЮСЬ

... відкритий, безкоштовний архів рефератів, курсових, дипломних робіт

ГоловнаІнформатика, Компютерні науки → Розробка програми для відображення динамічної мнемосхеми насосної станції підкачки - Реферат

Розробка програми для відображення динамічної мнемосхеми насосної станції підкачки - Реферат

}

//Цикл,який будуе на графiку лiнiю 4-го насоса

for(j=389;j>389-N4/3;j--)

{setcolor(6);

line(456,j,468,j);delay(100);

}

//Закрашуе коло чорним кольором(виключаються 2 i 4 насоси).

setfillstyle(1,0);floodfill(110,245,2);

setfillstyle(1,0);floodfill(270,245,2);

delay(100);

//Закрашуе коло червоним кольором(включаються 1 i 4 насоси).

setfillstyle(1,4);floodfill(30,245,2);

setfillstyle(1,4);floodfill(270,245,2);

for(i=389;i>389-N1/3;i--)

{setcolor(3);

line(468,i,480,i);delay(100);

}

for(j=389;j>389-N4/3;j--)

{setcolor(6);

line(480,j,492,j);delay(100);

}

//Закрашуе коло чорним кольором(виключаються 1 i 4 насоси).

setfillstyle(1,0);floodfill(30,245,2);

setfillstyle(1,0);floodfill(270,245,2);

delay(100);

//Закрашуе коло червоним кольором(включаються 2 i 3 насоси).

setfillstyle(1,4);floodfill(110,245,2);

setfillstyle(1,4);floodfill(190,245,2);

for(j=389;j>389-N2/3;j--)

{setcolor(4);

line(492,j,504,j);delay(100);

}

for(j=389;j>389-N3/3;j--)

{setcolor(5);

line(504,j,516,j);delay(100);

}

//Закрашуе коло чорним кольором(виключаються 2 i 3 насоси).

setfillstyle(1,0);floodfill(110,245,2);

setfillstyle(1,0);floodfill(190,245,2);

delay(100);

//Закрашуе коло червоним кольором(включаються 1 i 2 насоси).

setfillstyle(1,4);floodfill(30,245,2);

setfillstyle(1,4);floodfill(110,245,2);

for(i=389;i>389-N1/3;i--)

{setcolor(3);

line(516,i,528,i);delay(100);

}

for(j=389;j>389-N2/3;j--)

{setcolor(4);

line(528,j,540,j);delay(100);

}

//Закрашуе коло чорним кольором(виключаються 1 i 2 насоси).

setfillstyle(1,0);floodfill(30,245,2);

setfillstyle(1,0);floodfill(110,245,2);

delay(100);

//Закрашуе коло червоним кольором(включаються 3 i 4 насоси).

setfillstyle(1,4);floodfill(190,245,2);

setfillstyle(1,4);floodfill(270,245,2);

for(j=389;j>389-N3/3;j--)

{setcolor(5);

line(540,j,552,j);delay(100);

}

for(j=389;j>389-N4/3;j--)

{setcolor(6);

line(552,j,564,j);delay(100);

}

//Закрашуе коло чорним кольором(виключаються 3 i 4 насоси).

setfillstyle(1,0);floodfill(190,245,2);

setfillstyle(1,0);floodfill(270,245,2);

getch();

return(0);

}

//------------Пiдпрограма для ручного режиму------------------------------

float ruchnuy_regum(void)

{ int i,j,k,l;

float N1,N2,N3,N4,voda;

int gdriver=DETECT,gmode,errorcode;

initgraph(&gdriver,&gmode,"c:bcppbgi");

errorcode=graphresult();

if(errorcode !=grOk)

{

printf("Помилка графiчного режиму типу:%sn",grapherrormsg(errorcode));

printf("Натиснiть будь-яку клавiшу для виходу");

getch();

exit(1);

}

restorecrtmode(); //вихiд з графiчного режиму

printf("n Введiть кiлькiсть кубiчних метрiв води,"); //виводить на екран текст

printf("n яку будуть викачувати насоси при включеннi:");

H1:

printf("n H1(max:100)=");

scanf("%f",&N1);

if(N1>100)goto H1; //Умова,при якiй потрiбно буде ввести нове значення

//printf("n Буде велике навантаження на насос");

else

{H2: printf(" H2(max:200)=");

scanf("%f",&N2);}

if(N2>200)goto H2;

else

{H3: printf(" H3(max:300)=");

scanf("%f",&N3);}

if(N3>300)goto H3;

else

{H4: printf(" H4(max:400)=");

scanf("%f",&N4);}

if(N4>400)goto H4;

voda=(N1+N2+N3+N4)*3;

printf("n Буде викачано %.f кубiчних метрiв",voda);

getch();

clrscr();

setgraphmode(getgraphmode());//вихiд в графiчний режим

sxema();

setfillstyle(1,4);floodfill(30,245,2);

setfillstyle(1,4);floodfill(190,245,2);

for(i=389;i>389-N1/3;i--)

{setcolor(3);

line(420,i,432,i);delay(100);

}

for(j=389;j>389-N3/3;j--)

{setcolor(5);

line(432,j,444,j);delay(100);

}

setfillstyle(1,0);floodfill(30,245,2);

setfillstyle(1,0);floodfill(190,245,2);

delay(100);

setfillstyle(1,4);floodfill(110,245,2);

setfillstyle(1,4);floodfill(270,245,2);

for(j=389;j>389-N2/3;j--)

{setcolor(4);

line(444,j,456,j);delay(100);

}

for(j=389;j>389-N4/3;j--)

{setcolor(6);

line(456,j,468,j);delay(100);

}

setfillstyle(1,0);floodfill(110,245,2);

setfillstyle(1,0);floodfill(270,245,2);

delay(100);

setfillstyle(1,4);floodfill(30,245,2);

setfillstyle(1,4);floodfill(270,245,2);

for(i=389;i>389-N1/3;i--)

{setcolor(3);

line(468,i,480,i);delay(100);

}

for(j=389;j>389-N4/3;j--)

{setcolor(6);

line(480,j,492,j);delay(100);

}

setfillstyle(1,0);floodfill(30,245,2);

setfillstyle(1,0);floodfill(270,245,2);

delay(100);

setfillstyle(1,4);floodfill(110,245,2);

setfillstyle(1,4);floodfill(190,245,2);

for(j=389;j>389-N2/3;j--)

{setcolor(4);

line(492,j,504,j);delay(100);

}

for(j=389;j>389-N3/3;j--)

{setcolor(5);

line(504,j,516,j);delay(100);

}

setfillstyle(1,0);floodfill(110,245,2);

setfillstyle(1,0);floodfill(190,245,2);

delay(100);

setfillstyle(1,4);floodfill(30,245,2);

setfillstyle(1,4);floodfill(110,245,2);

for(i=389;i>389-N1/3;i--)

{setcolor(3);

line(516,i,528,i);delay(100);

}

for(j=389;j>389-N2/3;j--)

{setcolor(4);

line(528,j,540,j);delay(100);

}

setfillstyle(1,0);floodfill(30,245,2);

setfillstyle(1,0);floodfill(110,245,2);

delay(100);

setfillstyle(1,4);floodfill(190,245,2);

setfillstyle(1,4);floodfill(270,245,2);

for(j=389;j>389-N3/3;j--)

{setcolor(5);

line(540,j,552,j);delay(100);

}

for(j=389;j>389-N4/3;j--)

{setcolor(6);

line(552,j,564,j);delay(100);

}

setfillstyle(1,0);floodfill(190,245,2);

setfillstyle(1,0);floodfill(270,245,2);

getch();

return(0);

}

//---------Головна програма--------------------------------------------

void main(void)

{ int STEP=85;

char c;

int X,y,q=1;

int gdriver=DETECT,gmode,errorcode;

initgraph(&gdriver,&gmode,"c:bcppbgi");

errorcode=graphresult();

if(errorcode !=grOk)

{

printf("Помилка графiчного режиму типу:%sn",grapherrormsg(errorcode));

printf("Натиснiть будь-яку клавiшу для виходу");

getch();

exit(1);

}

//-------------Створення меню---------------------------------------

meny:

q=1;

Men();

X=160;

y=90;

setfillstyle(1,8);

setcolor(10);

rectangle(220,100,370,130);floodfill(222,110,10);

rectangle(220,185,370,215);floodfill(222,192,10);

rectangle(220,270,370,300);floodfill(222,290,10);

outtextxy(224, 114, "Автоматичний режим");

outtextxy(248,197,"Ручний режим");

outtextxy(278,283,"Вихiд");

do

{

//putimage(X+185,y-30,er,XOR_PUT);

putimage(X,y-30,er,XOR_PUT);

c=getch();

//putimage(X+185,-30,er,XOR_PUT);

putimage(X,y-30,er,XOR_PUT);

switch(c)

{

case 80: y+=STEP;q++;if(y==345){y=90 ;q=1;}break;

case 72: y-=STEP;q--;if(y==5){y=260;q=3;}break;

case 13:

//Якщо в меню буде вибраний третiй пункт,то здiйсниться вихiд з програми

if(q==3)

{closegraph();}

//Якщо в меню буде вибраний другий пункт,то вiдбудеться запуск пiдпрограми

// з ручним режимом

if(q==2)

{ ruchnuy_regum();

clrscr();

setgraphmode(getgraphmode());

goto meny;

}

//Якщо в меню буде вибраний перший пункт,то вiдбудеться запуск пiдпрограми

// з атоматичним режимом

if(q==1)

{avtomat();

clrscr();

setgraphmode(getgraphmode());

goto meny;

}}}

while(c!=27);

}

//-------Пiдпрограма,яка будуе хлопчика---------------------------------

void Men(void )

{setcolor(14);

circle(100,100,8);

line(100,108,100,123);

line(94,111,100,117);

line(100,117,106,111);

line(100,123,94,130);

line(100,123,106,130);

line(97,98,97,98);

line(103,98,103,98);

line(100,100,100,102);

arc(100,105,180,0,1);

line(94,89,96,92);

line(104,92,106,89);

line(100,92,100,88);

setfillstyle(1,4);floodfill(102,102,14);

rectangle(90,99,92,101);

rectangle(108,99,110,101);

//setcolor(4);

//fillellipse(100,100,15,5);

ze=imagesize(50,50,150,150);

er=malloc(ze);

getimage(58,58,152,152,er);

putimage(58,58,er,XOR_PUT);

}

Приклад

Введіть кількість кубічних метрів води,яку будуть викачувати насоси при включенні:

H1(max:100)=50

H2(max:200)=125

H3(max:300)=230

H4(max:400)=345

Висновок

Завдяки цій курсовій роботі я закріпив здобуті теоретичні знання з курсу "Програмування та алгоритмічні мови", навчився застосувати їх при вирішенні питань виробничого характеру.

Література

1.Крис Паппас, Уїльям Мюррей, Програмирование на С и С++,"Ирина", BHV,Киев,2000.

2.Ганкин М.З. Комплексна автоматизація і АСУ ТП, М., "Агропромиздат",1991 р.

Ця курсова робота люб'язно надана Олександром Подранецьким

Loading...

 
 

Цікаве