求教:四叶玫瑰线(TC)
#include <stdio.h>
#include <graphics.h>
#include <math.h>
#define pi 3.142
int main()
{
long i;
int gdriver = DETECT , gmode;
initgraph(&gdriver, &gmode, " ");
setbkcolor(1);
setcolor(2);
for (i=0;i <=6280;i++)
putpixel((300+150*sin(2*pi*i/1000)*cos(pi*i/1000)),(200+150*sin(2*pi*i/1000)*sin(pi*i/1000)),3);
getch();
}
在TC下调试,编译成功,但执行时出错:
BGI error:graphics not initialized(use 'initgraph ')
请大家指点解决之法……
[解决办法]
主要是没有找到驱动程序
可用以下解决办法解决
一:将egavga.bgi和程序一同拷贝到同一个文件夹下。同样的,换成其它机器也需要
二:建立一个不需要驱动程序就能独立运行的可执行图形程序,Turbo C中规定用下述步骤(这里以EGA、VGA显示器为例):
1. 在TC子目录下输入命令:BGIOBJ EGAVGA
此命令将驱动程序EGAVGA.BGI转换成EGAVGA.OBJ的目标文件。
2. 在TC子目录下输入命令:TLIB LIB\GRAPHICS.LIB+EGAVGA
此命令的意思是将EGAVGA.OBJ的目标模块装到GRAPHICS.LIB库文件中。
3. 在程序中initgraph()函数调用之前加上一句:
registerbgidriver(EGAVGA_driver);
这样子生成的程序,就可以独立运行。