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;
}
}