一个用c语言的变成问题,急!

来源:百度知道 编辑:UC知道 时间:2024/05/03 20:17:19
我想用c语言实现线段剪裁,程序运行总提示floating point error:Domain,谁能帮我解决一下这个问题?谢谢
程序如下:
#include<graphics.h>
int xl,xr,yt,yb;
int makecode(float x,float y,int c)
{
c=0;
if(x<xl) c=1;
else if(x>xr) c=2;
if(y<yb) c=c*4;
else if(y>yt) c=c+8;
return c;
}
void showline(float x0,float y0,float x2,float y2)
{
int gdriver=0,gmode;
float u0,v0,u2,v2;
u0=384/(xr-xl)*(x0-xl)+128;
u2=384/(xr-xl)*(x2-xl)+128;
v0=-(288/(yt-yb)*(y0-yb)+96)-480;
v2=-(384/(yt-yb)*(y2-yb)+96)-480;

initgraph(&gdriver,&gmode,"c:\\tc");cleardevice();
moveto(u0,v0);
lineto(u2,v2);
getch();
closegraph();
}
void Cohen_Sutherland(float x0,float y0,float x2,float y2)
{
int c,c1,c2;
float x,y;
c1=makecode(x0,y0,c1);
c2=makecode(x2,y2,c2);
while(c1!=0||c2!=0)

因为在TURBO C 下会出现符点型错误,编译系统本身不支持符点型.这是系统问题,建议你使用windows的GDI编程

建议不要使用早期的Dos方法来进行图形编程。使用windows的gdi编程,或者OpenGL编程等。

I don not no