瑞星卡卡安全论坛

首页 » 技术交流区 » 系统软件 » 开发工具"Visual C++"与"Turbo C"我该相信谁``..
花花公子与小赖虫 - 2007-6-30 11:17:00




今天从网上找了个程序,于是上机用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 却可能正常运行。
网络骑士HKC - 2007-6-30 23:51:00
库文件不同才会出现这个问题啊
graphics.h这个头文件在VC里好像是没有的
你试着把它从TC里复制到VC里用
花花公子与小赖虫 - 2007-7-7 22:55:00
谢谢了.我试试
person997 - 2007-7-31 15:07:00
无语,turboc是专用编写dos程序的,'graphics.h'是dos下的图形处理函数头,vc下当然没有,而且程序运行时还需要相应的驱动比如egavga.bgi等文件,这些vc下更没有。
≮大头仔≯ - 2007-8-1 15:00:00
vc
Iloveyou病毒 - 2007-9-27 10:12:00
如果你想一直做windows的奴隶就用VC吧.
person997 - 2007-9-30 9:43:00
引用:
【Iloveyou病毒的贴子】如果你想一直做windows的奴隶就用VC吧.
………………

跟着微软混肯定有饭吃!
风的唏嘘 - 2007-10-1 15:52:00
不同的编译系统是有差异的
过客2007 - 2007-10-1 19:28:00
引用:
【风的唏嘘的贴子】不同的编译系统是有差异的
………………



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

比如设置一个表格输入的程序,好像运行之后,一闪就没了?
过客2007 - 2007-10-1 19:28:00
引用:
【风的唏嘘的贴子】不同的编译系统是有差异的
………………



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

比如设置一个表格输入的程序,好像运行之后,一闪就没了?
风的唏嘘 - 2007-10-3 16:33:00
引用:
【过客2007的贴子】


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

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

可以交互啊,你这个问题应该是程序运行速度过快,加getch();函数试试看.如果用VC++编程的话,应该要添加SDK
网络骑士HKC - 2007-10-7 13:05:00
我不说微软的东西好不好
只是就事论事,你觉得现在的形式,不用微软东西的有几个人?

或者有些人比较叛逆,想标新立异

这些都是没什么好评论的

但是换个角度想想,在祖国大统一的今天
就是有那么几个跳出来搞台Du

他们会有好结果么?

这虽然只是成王败寇的事,但螳臂当车就显得太不自量力了

有好工具干嘛不用!
就好象现在,有高级语言了,愣是有人要用汇编写Windows程序,这不是吃饱没事干么?(猛然发现好象我也是这种吃饱没事干的人……暴汗一下!)

时代在发展,你阻止不了它的脚步,这就是大势所趋了

都得好好的,干嘛硬要掉个头往远古时代走?

跟着微软走不见得有什么不好的。

一生是我的个人观点

但是现在我发现ipv6准备推出了

也就意味着网速将会达到1G~10G/s,最多是2年到5年的时间

到那时候,估计个人电脑已经属于终端了

什么东西都是直接在线搞了,我发现linux在这方面比微软的要强

linux的前景也是不可限量的,最终鹿死谁手还是不一定呢

所以,目前我也在学习慢慢转变到linux下玩编程

微软的漏洞已经被发觉了很多,但linux下的还有很多

以后linux用的人多了,漏洞也会发现的更多,到时候linux的杀毒市场就很有发展潜力的

呵呵,算是对未来的一场憧憬吧!
过客2007 - 2007-10-11 17:00:00
引用:
【风的唏嘘的贴子】
可以交互啊,你这个问题应该是程序运行速度过快,加getch();函数试试看.如果用VC++编程的话,应该要添加SDK
………………


谢谢楼上还在关心了。

C语言算是糊里糊涂的学完一遍了,但是,现在还是编不出一个东东:

不知道C语言写出来的程序,要在哪里运行?是在命令行中运行吗?

结尾(Return 0;)要加的吗?

为什么我编写的一些小作品在CMD中运行之后没有任何显示?只是黑色的一行?

summitsoft - 2007-10-12 2:18:00
引用:
【过客2007的贴子】

谢谢楼上还在关心了。

C语言算是糊里糊涂的学完一遍了,但是,现在还是编不出一个东东:

不知道C语言写出来的程序,要在哪里运行?是在命令行中运行吗?

结尾(Return 0;)要加的吗?

为什么我编写的一些小作品在CMD中运行之后没有任何显示?只是黑色的一行?


………………


C++一定要加return 0;是么……?
閃電☆王子 - 2007-10-12 15:57:00
路过
过客2007 - 2007-10-13 15:45:00
引用:
【summitsoft的贴子】

C++一定要加return 0;是么……?

………………



说实话,我也不知道..
编程小学生 - 2007-10-14 8:43:00
库不一样!倡导自由软件!反对微软垄断!
花花公子与小赖虫 - 2007-10-14 17:05:00
怎么感觉C学到数组的时候就难了,晕!!!
怎么学好啊。
ADWII - 2007-10-18 14:57:00
TC是C。。。。。
1
查看完整版本: 开发工具"Visual C++"与"Turbo C"我该相信谁``..