计算机图形学中的一个小程序,想请问一上,为什么小弟我那样写就错了
计算机图形学中的一个小程序,想请教一下,为什么我那样写就错了?
#include "graphics.h "
#include "conio.h"
void main()
{ int gdriver=DETECT,gmode;
/*自动搜索显示器类型和显示模式*/
int x,y;
initgraph(&gdriver,&gmode," D:\\TC ");
cleardevice(); /*清除图形屏幕*/
moveto(100,40);
linerel(40,0); /*从当前坐标以相对增量方式画直线*/
x=getx(); // 这里为什么要多用个X,Y变量? 写成我那样怎么就不行?见我下面的程序
y=gety();
moveto(x,y+20);
linerel(-40,0);
moverel(0,20);
linerel(40,0);
moverel(-20,0);
linerel(0,-40);
getch(); //等待按一键结束
closegraph();
}
-----------
其他都不变,就是将定义的X,Y变量去掉,
---------
# include "graphics.h"
# include "conio.h"
void main ()
{
int gdriver = DETECT,gmode;
initgraph(&gdriver ,&gmode,"D:\\TC");
cleardevice();
moveto (100,40);
linerel (40,0);
moverel (0,20);
linerel (40,0);
moveto (0,20);
linerel (40,0);
moveto (-20,0);
linerel (0,-40);
getch();
closegraph();
}
------解决方案--------------------
linerel(-40,0);
和
linerel(40,0);
不是一回事。
#include "graphics.h "
#include "conio.h"
void main()
{ int gdriver=DETECT,gmode;
/*自动搜索显示器类型和显示模式*/
int x,y;
initgraph(&gdriver,&gmode," D:\\TC ");
cleardevice(); /*清除图形屏幕*/
moveto(100,40);
linerel(40,0); /*从当前坐标以相对增量方式画直线*/
x=getx(); // 这里为什么要多用个X,Y变量? 写成我那样怎么就不行?见我下面的程序
y=gety();
moveto(x,y+20);
linerel(-40,0);
moverel(0,20);
linerel(40,0);
moverel(-20,0);
linerel(0,-40);
getch(); //等待按一键结束
closegraph();
}
-----------
其他都不变,就是将定义的X,Y变量去掉,
---------
# include "graphics.h"
# include "conio.h"
void main ()
{
int gdriver = DETECT,gmode;
initgraph(&gdriver ,&gmode,"D:\\TC");
cleardevice();
moveto (100,40);
linerel (40,0);
moverel (0,20);
linerel (40,0);
moveto (0,20);
linerel (40,0);
moveto (-20,0);
linerel (0,-40);
getch();
closegraph();
}
------解决方案--------------------
linerel(-40,0);
和
linerel(40,0);
不是一回事。