老师让实现一边画圆,一边画方,程序写好之后出现上述情况,求大神相助。
将代码发给别人后,别人正常运行,求原因。
代码如下:
#include<math.h>
#include<conio.h>
#include<graphics.h>
#include <windows.h>
DWORD WINAPI drawcircle( LPVOID lpParam )
{
double a,b,c,d;
a=c=100;
b=d=200;
while(c<=300)
{
line(a,b,c,d);
a=c;
b=d;
c+=1;
d=200+sqrt(10000-(c-200)*(c-200));
Sleep(10);
}
a=c=300;
b=d=200;
Sleep(10);
while(c>=100)
{
line(a,b,c,d);
a=c;
b=d;
c-=1;
d=200-sqrt(10000-(c-200)*(c-200));
Sleep(10);
}
return 0;
}
DWORD WINAPI drawsquare( LPVOID lpParam )
{
double a1,b1,c1,d1;
a1=c1=500;
b1=d1=100;
while(c1<=700)
{
line(a1,b1,c1,d1);
a1=c1;
b1=d1;
c1+=1;
Sleep(5);
}
a1=c1=700;
b1=d1=100;
while(d1<=300)
{
line(a1,b1,c1,d1);
a1=c1;
b1=d1;
d1+=1;
Sleep(5);
}
a1=c1=700;
b1=d1=300;
while(c1>=500)
{
line(a1,b1,c1,d1);
a1=c1;
b1=d1;
c1-=1;
Sleep(5);
}
a1=c1=500;
b1=d1=300;
while(d1>=100)
{
line(a1,b1,c1,d1);
a1=c1;
b1=d1;
d1-=1;
Sleep(5);
}
return 0;
}
void main()
{
initgraph(800,600);
CreateThread( NULL,0,drawcircle,NULL,0,NULL);
CreateThread( NULL,0,drawsquare,NULL,0,NULL);
getch();
closegraph();
}