瑞星卡卡安全论坛技术交流区系统软件 开发工具"Visual C++"与"Turbo C"我该相信谁``..

12   1  /  2  页   跳转

开发工具"Visual C++"与"Turbo C"我该相信谁``..

开发工具"Visual C++"与"Turbo C"我该相信谁``..





今天从网上找了个程序,于是上机用VC++把源程序输入,当编译后却出现错误了.我想难道是他的程序错误不成?
于是,我就换成了Turbo C把源代码输入了进去,令我匪及所思的是在Turbo C下居然运行成功了.
难道是微软的VC++有问题不成?应该不可能吧.可事实就摆在眼前,我也无法不相信呢?
令把贪吃蛇的源代码发出来,请大家看看是什么原因造成的?
#include "stdio.h"
#include "graphics.h"这就是错误的那行代码了。。
#include "dos.h"
#include "bios.h"
void main()
{
  int snake(int *a,int *b,int c);
  int law(int a,int b,int *d,int *c,int k);
  int eat(int *a,int *c,int d,int e,int k);
  char con;
  int gd=VGA,x1,y1,k=5,i=-6,j=0,m,x2,y2,n=0,speed;
  int gm=VGAHI,a[101],c[101],b[101][101];
  initgraph(&gd,&gm,"");
  cleardevice();
  printf("please putin the speed:1--8\n");
  scanf("%d",&speed);
  setcolor(7);
  line(79,29,79,451);line(79,29,561,29);
  line(79,451,561,451);line(561,29,561,451);
  setviewport(80,30,560,450,1);
  setcolor(2);
  for(x1=1;x1<=80;x1++)
  for(y1=1;y1<=70;y1++)
  b[x1][y1]=0;
  for(x1=1;x1<=k;x1++)
  {a[x1]=237+6*x1;
    c[x1]=213;}
  snake(a,c,k);
  getch();
  for(;;)
  {if(n==0)
    {x1=rand()%80+1;y1=rand()%70+1;n=1;
    circle(x1*6-3,y1*6-3,3);
    b[x1][y1]=2;}
    setcolor(0);
    snake(a,c,k);
    if(bioskey(1)==0)
    goto am;
    con=bioskey(0);
    if(con=='u'&&j!=6)
    {i=0;j=-6;}
    if(con=='n'&&j!=-6)
    {i=0;j=6;}
    if(con=='j'&&i!=-6)
    {j=0;i=6;}
    if(con=='h'&&i!=6)
    {j=0;i=-6;}
    if(con=='p')
    getch();
    am:x1=a[1];y1=c[1];
    a[1]+=i;c[1]+=j;
    if(b[(a[1]+3)/6][(c[1]+3)/6]==2)
    {k++;eat(a,c,x1+i,y1+j,k);b[(a[1]+3)/6][(c[1]+3)/6]=0;n=0;} 
    for(m=2;m<=k;m++)
    {x2=a[m];y2=c[m];
    a[m]=x1;c[m]=y1;
    x1=x2;y1=y2;}
    setcolor(2);
    snake(a,c,k);
    for(x1=1;x1<=9-speed;x1++)
    delay(10000);
    law(a[1],c[1],a,c,k);   
    }
}
/**/
int snake(int *a,int *c,int k)
{
int x;
for(x=1;x<=k;x++)
{circle(a[x],c[x],3);
circle(a[x],c[x],2);}
},
/**/
int law(int a,int b,int *d,int *c,int k)
{int n;
if(a>477||a<3||b>417||b<3)
{printf("shit\n");
    printf("%d",k);exit();
}
for(n=4;n<=k;n++)
if(d[1]==d[n]&&c[1]==c[n])
{printf("shit");
  printf("%d",k);exit();}}
/**/
int eat(int *a,int *c,int d,int e,int k)
{
int n,x1,y1,x2,y2;
x1=a[1];y1=c[1];
a[1]=d;c[1]=e;
for(n=2;n<=k;n++)
{x2=a[n];y2=c[n];
  a[n]=x1;c[n]=y1;
  x1=x2;y1=y2;}}
VC++的结果是"Cannot open include file:'graphics.h':NO such file or directory"
也就是提示的错误。错误在第2行。
Turbo C 却可能正常运行。
最后编辑2007-10-18 14:46:10
分享到:
gototop
 

库文件不同才会出现这个问题啊
graphics.h这个头文件在VC里好像是没有的
你试着把它从TC里复制到VC里用
gototop
 

谢谢了.我试试
gototop
 

无语,turboc是专用编写dos程序的,'graphics.h'是dos下的图形处理函数头,vc下当然没有,而且程序运行时还需要相应的驱动比如egavga.bgi等文件,这些vc下更没有。
gototop
 

vc
gototop
 

如果你想一直做windows的奴隶就用VC吧.
gototop
 

引用:
【Iloveyou病毒的贴子】如果你想一直做windows的奴隶就用VC吧.
………………

跟着微软混肯定有饭吃!
gototop
 

不同的编译系统是有差异的
gototop
 

引用:
【风的唏嘘的贴子】不同的编译系统是有差异的
………………



使用C语言编写的程序是不是不能交互的?

比如设置一个表格输入的程序,好像运行之后,一闪就没了?
gototop
 

引用:
【风的唏嘘的贴子】不同的编译系统是有差异的
………………



使用C语言编写的程序是不是不能交互的?

比如设置一个表格输入的程序,好像运行之后,一闪就没了?
gototop
 
12   1  /  2  页   跳转
页面顶部
Powered by Discuz!NT