请问怎样在VC++里打开#include "graphics.h"这个文件啊,我在TC里能运行,

时间:2022-03-11 18:55:38
请问怎样在VC++里打开#include "graphics.h"这个文件啊,我在TC里能运行,但在VC++里却不能运行,请老师指教!具体代码如下: 
#include "graphics.h" 
#include "stdlib.h" 
#include "math.h" 
#include "stdio.h" 
#define I 3.1415925/180 
main() 

int gdriver=DETECT,gmode; 
int i,c=0,d=1; 
double x0,y0,x1,y1; 
double x[6],y[6],a[5],b[5]; 
initgraph(&gdriver,&gmode,""); 
x0=getmaxx()/2; 
y0=getmaxy()/2; 
while(!kbhit()) 

cleardevice(); 
x1=x0+100*cos(c*I); 
y1=y0+100*sin(c*I); 
for(i=0;i<6;i++) 

x[i]=x1+20*cos(i*I*72+c*I); 
y[i]=y1+20*sin(i*I*72+c*I); 

for(i=0;i<5;i++) 

a[i]=x1+8*cos((i*72+36)*I+c*I); 
b[i]=y1+8*sin((i*72+36)*I+c*I); 

setcolor(d); 
for(i=0;i<5;i++) 

line(x[i],y[i],a[i],b[i]); 
line(a[i],b[i],x[i+1],y[i+1]); 

delay(60); 
c=c++; 
d++; 
if(d==14) d=1; 

getchar(); 
closegraph(); 
return 0; 
}

15 个解决方案

#1


vc中没有 "graphics.h" 文件,
但是在tc或者c++builder中有该头文件

#2


c++在<locale>里面包含了c的标准库,但是   graphics.h?  好像没有

#3


那怎么办啊

#4


不要用VC写DOS下的绘图程序

#5


对,vc下已经不用graphics.h了,不过你可以尝试把其他编译器中的头文件和库文件移到vc中看看能不能连接。

#6


这个程序干嘛要在VC里编译,VC就不这样写了。

#7


上面的程序我在TC里运行说没有INITGRAPH
但我明明初始化了
请你们帮我看看到底是什么问题
谢谢各位啊

#8


不要用VC开发for dos的程序,吃力不讨好。

#9


图形库是不同厂家提供的,并不是C/C++标准

要在VC里面绘制DOS图形,可以使用 VC 1.5 或以前版本

所有后面的版本都没有了,因为都 WINDOWS 了 :)

#10


我知道了,这个问题我也碰到过,主要是TC的环境没设置好
打开File->Directory
设置好你TC所在的路径就行了:)

#11


在VC中有很多TC中的函数都是没有的,特别是关于屏幕输出的函数(包括字符和图形),

因为VC已开始淘汰dos界面的操作,这是大趋势,悲哀!!

#12


独立图形运行程序的建立 
    Turbo C对于用initgraph()函数直接进行的图形初始化程序, 在编译和链接 
时并没有将相应的驱动程序(*.BGI)装入到执行程序, 当程序进行到intitgraph() 
语句时, 再从该函数中第三个形式参数char *path中所规定的路径中去找相应的 
驱动程序。若没有驱动程序, 则在C:\TC中去找, 如C:\TC中仍没有或TC不存在, 
将会出现错误: 
     BGI Error: Graphics not initialized (use 'initgraph') 
    因此, 为了使用方便, 应该建立一个不需要驱动程序就能独立运行的可执行 
图形程序,Turbo C中规定用下述步骤(这里以EGA、VGA显示器为例): 
    1. 在C:\TC子目录下输入命令:BGIOBJ EGAVGA 
    此命令将驱动程序EGAVGA.BGI转换成EGAVGA.OBJ的目标文件。 
    2. 在C:\TC子目录下输入命令:TLIB LIB\GRAPHICS.LIB+EGAVGA 
    此命令的意思是将EGAVGA.OBJ的目标模块装到GRAPHICS.LIB库文件中。 
    3. 在程序中initgraph()函数调用之前加上一句: 
       registerbgidriver(EGAVGA_driver): 
该函数告诉连接程序在连接时把EGAVGA的驱动程序装入到用户的执行程序中。 

#13


如果在Windows下或WindowsConsole下运行,请采用GDI函数,放弃TC函数!

#14


WindowsConsole下运行 是不能使用GDI的吧?!

#15


Console programm 用的库是不能使用关于GDI的!
但是可以用MFC里的一些类库,比如CFile,这样关于字符流性质的!

另外,graphics是DOS下的,而现在是WINDOWS下使用了GDI,graphics不能用了!他们采用的模式是不相同的,因此不能混用!

#1


vc中没有 "graphics.h" 文件,
但是在tc或者c++builder中有该头文件

#2


c++在<locale>里面包含了c的标准库,但是   graphics.h?  好像没有

#3


那怎么办啊

#4


不要用VC写DOS下的绘图程序

#5


对,vc下已经不用graphics.h了,不过你可以尝试把其他编译器中的头文件和库文件移到vc中看看能不能连接。

#6


这个程序干嘛要在VC里编译,VC就不这样写了。

#7


上面的程序我在TC里运行说没有INITGRAPH
但我明明初始化了
请你们帮我看看到底是什么问题
谢谢各位啊

#8


不要用VC开发for dos的程序,吃力不讨好。

#9


图形库是不同厂家提供的,并不是C/C++标准

要在VC里面绘制DOS图形,可以使用 VC 1.5 或以前版本

所有后面的版本都没有了,因为都 WINDOWS 了 :)

#10


我知道了,这个问题我也碰到过,主要是TC的环境没设置好
打开File->Directory
设置好你TC所在的路径就行了:)

#11


在VC中有很多TC中的函数都是没有的,特别是关于屏幕输出的函数(包括字符和图形),

因为VC已开始淘汰dos界面的操作,这是大趋势,悲哀!!

#12


独立图形运行程序的建立 
    Turbo C对于用initgraph()函数直接进行的图形初始化程序, 在编译和链接 
时并没有将相应的驱动程序(*.BGI)装入到执行程序, 当程序进行到intitgraph() 
语句时, 再从该函数中第三个形式参数char *path中所规定的路径中去找相应的 
驱动程序。若没有驱动程序, 则在C:\TC中去找, 如C:\TC中仍没有或TC不存在, 
将会出现错误: 
     BGI Error: Graphics not initialized (use 'initgraph') 
    因此, 为了使用方便, 应该建立一个不需要驱动程序就能独立运行的可执行 
图形程序,Turbo C中规定用下述步骤(这里以EGA、VGA显示器为例): 
    1. 在C:\TC子目录下输入命令:BGIOBJ EGAVGA 
    此命令将驱动程序EGAVGA.BGI转换成EGAVGA.OBJ的目标文件。 
    2. 在C:\TC子目录下输入命令:TLIB LIB\GRAPHICS.LIB+EGAVGA 
    此命令的意思是将EGAVGA.OBJ的目标模块装到GRAPHICS.LIB库文件中。 
    3. 在程序中initgraph()函数调用之前加上一句: 
       registerbgidriver(EGAVGA_driver): 
该函数告诉连接程序在连接时把EGAVGA的驱动程序装入到用户的执行程序中。 

#13


如果在Windows下或WindowsConsole下运行,请采用GDI函数,放弃TC函数!

#14


WindowsConsole下运行 是不能使用GDI的吧?!

#15


Console programm 用的库是不能使用关于GDI的!
但是可以用MFC里的一些类库,比如CFile,这样关于字符流性质的!

另外,graphics是DOS下的,而现在是WINDOWS下使用了GDI,graphics不能用了!他们采用的模式是不相同的,因此不能混用!