请各位前辈帮忙转换下VC语言~~~~#include <conio.h>
#include <dos.h>
#include <math.h>
#include <stdio.h>
#include  <stdlib.h>
#include  <string.h>int myCount, myDelay, myKinds;
char myItem[32][6];
int myItemCount[32];
char myQuery[6];
int myRandom, myRX;void InitData()
{ clrscr();
printf("Input the Binary Random Sequence Length of this test: ");
scanf("%d", &myCount);
printf("Input the DELAY (milliseconds) of each bit in this test: ");
scanf("%d", &myDelay);
clrscr();
printf("\nWarning! The length of each item must be not more than 5.");
printf("\nPlease enter \"ok\" when finishing input all items!\n");
for (int i=0; i<=31; i++)
{ printf("Input the binery pattern for No.%d item : ", i+1);
scanf("%s", myItem[i]);
if (strcmp(strlwr(myItem[i]), "ok")==0)  break;
myKinds = i+1; }
printf("\nTotal number of item is %d.", myKinds);
printf("\nList each pattern of items as inputted: ");
for (i=0; i<=myKinds-1; i++)
{ printf("\nThe No.%d item: %s", i+1, myItem[i]); }
printf("\n\nPress any key when ready...");
getch();
myRX = 1;
for (int j=0; j<=5; j++)  myQuery[j] = 0;
for (j=0; j<=31; j++)  myItemCount[j] = 0;
clrscr();
}void GetRandom()
{ myRandom = random(2);
if (myRX>80)
{ gotoxy(1,1);
for (int i=1;i<=10;i++)  printf("        ");
myRX = 1; }
gotoxy(myRX,1);
printf("%d",myRandom);
myRX++;
}void GetQuery()
{ int len;
len = strlen(myQuery);
if (len<=4)
{ myQuery[len] = myRandom + 48; }
else
{ for (int i=0; i<=3; i++)
{ myQuery[i] = myQuery[i+1]; }
myQuery[4] = myRandom + 48;
}
gotoxy(1, 3);
printf("          ");
gotoxy(1, 3);
printf("%s", myQuery);
}int Matching(char *aStr1, char *aStr2)
{ int flag=0;
for (int i=0; i<=strlen(aStr2)-1; i++)
{ if (aStr2[i]!=aStr1[i])
{ flag = 1;
break; }
}
return flag;
}void MatchItem()
{ gotoxy(1,5);
for (int i=1; i<=myKinds; i++)
{ if (Matching(myQuery, myItem[i-1]) == 0)
{ int m;
m = strlen(myItem[i-1]);
int k;
k = strlen(myQuery) - m;
for (int j=0; j<=k-1; j++)
{ myQuery[j] = myQuery[m+j]; }
for (j=k; j<=5; j++)
{ myQuery[j] = 0; }
myItemCount[i-1]++;
}
printf("%s --> %d\n", myItem[i-1], myItemCount[i-1]);
}
}void Run()
{ randomize();
for (int i=1; i<=myCount; i++)
{ GetRandom();
GetQuery();
MatchItem();
delay(myDelay); }
}main()
{ InitData();
Run();
return 0;
}

解决方案 »

  1.   

    我认为你的理解有错误,TC和VC是编译器,如果你调用的都是标准C运行时函数,是不需要转换的
      

  2.   

    其实我对这个不是很懂,这段程序可以在TC环境下运行,那是否可以在VC环境下运行呢?
      

  3.   

    你的main函数前面是不是漏掉什么东西了 :)
      

  4.   

    有一些错误的,比如printf("Input the DELAY (milliseconds) of each bit in this test: ");这句括号就不行,需要转义字符。
    另外我在VC6下面试了一下,有几个函数找不到声明了:clrscr(),gotoxy(),delay(),我想应该是版本的问题,不过你可以找到替代的函数。
      

  5.   

    呀,好熟悉的clrscr();熟悉的tc..
      

  6.   

    TC(Turbo C)是宝蓝公司早期的C开发环境,主要针对于Dos环境下面的程序开发。
    VC是微软公司推出的C/C++开发环境。针对于Windows平台。类似于:clrscr(),gotoxy(),delay()这些函数是TC携带的库文件中定义
    的函数(VC中没有这些函数定义),主要用于Dos环境下面的图形编程使用的。在Windows下面的图形编程不会在使用这些函数了。
    如果需要图形编程主要使用微软公司的GDI/GDI+
    如果是游戏编程主要使用DriectX库。
      

  7.   

    创建一个控制台程序,然后将代码粘贴过来,替换clrscr、gotoxy、delay等函数。
      

  8.   

    VC是兼容c语言的,tc的代码做较小的改动后就可以在VC中run了