Функция, рисующая вольтметр


void voltmetr(int x1,int y1,int x2,int y2){

int x3,y3;

switch(pozition(x1,y1,x2,y2)){

case 1:

if(x2>x1){

y2=y1;

x3=x1+(x2-x1)/2;

line(x1,y1,x3-10,y1);

line(x3+10,y2,x2,y2);

circle(x3,y1,10);

outtextxy(x3-3,y1-3,"V");

}

if(x2<x1){

x3=x2+(x1-x2)/2;

y2=y1;

line(x2,y2,x3-10,y2);

line(x3+10,y1,x1,y2);

circle(x3,y2,10);

outtextxy(x3-3,y2-3,"V");

}

break;

case 2:

if(y1<y2){

y3=y1+(y2-y1)/2;

x2=x1;

line(x1,y1,x1,y3-10);

line(x1,y3+10,x2,y2);

circle(x1,y3,10);

outtextxy(x1-3,y3-3,"V");

}

if(y1>y2){

y3=y2+(y1-y2)/2;

x2=x1;

line(x1,y1,x1,y3+10);

line(x2,y3-10,x2,y2);

circle(x1,y3,10);

outtextxy(x1-3,y3-3,"V");

}

break;

case 3:

if(x2>x1){

y2=y1-(x2-x1);

x3=x1+(x2-x1)/2;

y3=y1+(y2-y1)/2;

line(x1,y1,x3-7,y3+7);

line(x3+7,y3-7,x2,y2);

circle(x3,y3,10);

outtextxy(x3-3,y3-3,"V");

}

if(x2<x1){

y2=y1+(x1-x2);

x3=x2+(x1-x2)/2;

y3=y1+(y2-y1)/2;

line(x1,y1,x3+7,y3-7);

line(x3-7,y3+7,x2,y2);

circle(x3,y3,10);

outtextxy(x3-3,y3-3,"V");

}

break;

case 4:

if(x2>x1){

y2=y1+(x2-x1);

x3=x1+(x2-x1)/2;

y3=y1+(y2-y1)/2;

line(x1,y1,x3-7,y3-7);

line(x3+7,y3+7,x2,y2);

circle(x3,y3,10);

outtextxy(x3-3,y3-3,"V");

}

if(x2<x1){

y2=y1-(x1-x2);

x3=x2+(x1-x2)/2;

y3=y2+(y1-y2)/2;

line(x1,y1,x3+7,y3+7);

line(x3-7,y3-7,x2,y2);

circle(x3,y3,10);

outtextxy(x3-3,y3-3,"V");

}

break;

}

}

// Функция, рисующая заземлитель

void zazemlitel(int x1,int y1,int x2,int y2){

switch(pozition(x1,y1,x2,y2)){

case 1:

if(x2>x1){

y2=y1;

line(x1,y1,x2-8,y2);

line(x2-8,y2-7,x2-8,y2+7);

line(x2-4,y2-4,x2-4,y2+4);

line(x2,y2-1,x2,y1+1);

}

if(x2<x1){

y2=y1;

line(x2+8,y2,x1,y1);

line(x2+8,y2-7,x2+8,y2+7);

line(x2+4,y2-4,x2+4,y2+4);

line(x2,y2-1,x2,y2+1);

}

break;

case 2:

if(y1<y2){

x2=x1;

line(x1,y1,x2,y2-8);

line(x2-7,y2-8,x2+7,y2-8);

line(x2-4,y2-4,x2+4,y2-4);

line(x2-1,y2,x2+1,y2);

}

if(y1>y2){

x2=x1;

line(x1,y1,x2,y2+8);

line(x2-7,y2+8,x2+7,y2+8);

line(x2-4,y2+4,x2+4,y2+4);

line(x2-1,y2,x2+1,y2);

}

break;

case 3:

if(x2>x1){

y2=y1-(x2-x1);

line(x1,y1,x2-4,y2+4);

line(x2-9,y2-1,x2+1,y2+9);

line(x2-5,y2-1,x2+1,y2+5);

line(x2-1,y2-1,x2+1,y2+1);

}

if(x2<x1){

y2=y1+(x1-x2);

line(x1,y1,x2+4,y2-4);

line(x2+9,y2+1,x2-1,y2-9);

line(x2+5,y2+1,x2-1,y2-5);

line(x2+1,y2+1,x2-1,y2-1);

}

break;

case 4:

if(x2>x1){

y2=y1+(x2-x1);

line(x1,y1,x2-4,y2-4);

line(x2-9,y2+1,x2+1,y2-9);

line(x2-5,y2+1,x2+1,y2-5);

line(x2-1,y2+1,x2+1,y2-1);

}

if(x2<x1){

y2=y1-(x1-x2);

line(x1,y1,x2+4,y2+4);

line(x2+9,y2-1,x2-1,y2+9);

line(x2+5,y2-1,x2-1,y2+5);

line(x2+1,y2-1,x2-1,y2+1);

}

break;

}

}

// Функция, рисующая диод

void diod(int x1,int y1,int x2,int y2){

int x3,y3;

switch(pozition(x1,y1,x2,y2)){

case 1:

if(x2>x1){

y2=y1;

x3=x1+(x2-x1)/2;

line(x1,y1,x2,y2);

line(x3+7,y1-7,x3+7,y1+7);

line(x3+7,y1,x3-7,y1+7);

line(x3+7,y1,x3-7,y1-7);

line(x3-7,y1-7,x3-7,y1+7);

}

if(x2<x1){

x3=x2+(x1-x2)/2;

y2=y1;

line(x2,y2,x1,y1);

line(x3-7,y2-7,x3-7,y2+7);

line(x3-7,y2,x3+7,y1+7);

line(x3-7,y2,x3+7,y1-7);

line(x3+7,y1-7,x3+7,y1+7);

}

break;

case 2:

if(y1<y2){

y3=y1+(y2-y1)/2;

x2=x1;

line(x1,y1,x2,y2);

line(x1-7,y3-7,x1+7,y3-7);

line(x1-7,y3+7,x1+7,y3+7);

line(x1-7,y3-7,x1,y3+7);

line(x1+7,y3-7,x1,y3+7);

}

if(y1>y2){

y3=y2+(y1-y2)/2;

x2=x1;

line(x1,y1,x2,y2);

line(x1-7,y3+7,x1+7,y3+7);

line(x1-7,y3-7,x1+7,y3-7);

line(x1-7,y3+7,x1,y3-7);

line(x1+7,y3+7,x1,y3-7);

}

break;

case 3:

if(x2>x1){

y2=y1-(x2-x1);

x3=x1+(x2-x1)/2;

y3=y1+(y2-y1)/2;

line(x1,y1,x2,y2);

line(x3-10,y3,x3,y3+10);

line(x3,y3-10,x3+10,y3);

line(x3-10,y3,x3+5,y3-5);

line(x3,y3+10,x3+5,y3-5);

}

if(x2<x1){

y2=y1+(x1-x2);

x3=x2+(x1-x2)/2;

y3=y1+(y2-y1)/2;

line(x1,y1,x2,y2);

line(x3+10,y3,x3,y3-10);

line(x3,y3+10,x3-10,y3);

line(x3+10,y3,x3-5,y3+5);

line(x3,y3-10,x3-5,y3+5);

}

break;

case 4:

if(x2>x1){

y2=y1+(x2-x1);

x3=x1+(x2-x1)/2;

y3=y1+(y2-y1)/2;

line(x1,y1,x2,y2);

line(x3-10,y3,x3,y3-10);

line(x3,y3+10,x3+10,y3);

line(x3-10,y3,x3+5,y3+5);

line(x3,y3-10,x3+5,y3+5);

}

if(x2<x1){

y2=y1-(x1-x2);

x3=x2+(x1-x2)/2;

y3=y2+(y1-y2)/2;

line(x1,y1,x2,y2);

line(x3+10,y3,x3,y3+10);

line(x3,y3-10,x3-10,y3);

line(x3+10,y3,x3-5,y3-5);

line(x3,y3+10,x3-5,y3-5);

}

break;

}

}