求助(关于easyx双线程绘图出错问题)

SP独坐 2014-03-15 12:30:30
老师让实现一边画圆,一边画方,程序写好之后出现上述情况,求大神相助。
将代码发给别人后,别人正常运行,求原因。
代码如下:
#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();
}
...全文
76 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧