首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

初学者大神VS2010和VC6.0的区别 有例题的

2012-06-07 
菜鸟求助大神VS2010和VC6.0的区别 有例题的下面这段代码在VC6.0上运行没有问题但是在VS2010上就有错误啦

菜鸟求助大神VS2010和VC6.0的区别 有例题的
下面这段代码在VC6.0上运行没有问题但是在VS2010上就有错误啦 怎么修改,能不能说明一下6.0和2010的常见区别 谢谢··

#include <iostream>
#include <fstream>
#include <string>
#include<iomanip>
using namespace std;
struct Student
{
 char num[12];
 string name;
 float grade[9];
 float score;
};

int main()
{  
 int i,j;
 Student stu[41],t;
 ifstream infile ("1.txt",ios::in);
 if ( !infile)
 { 
  cout << "open error!" << endl;
  exit(1);
 }

 for(i = 0; i < 41; i++)
 {
  
 infile >> stu[i].num >> stu[i].name >> stu[i].grade[0]
  >> stu[i].grade[1] >> stu[i].grade[2]>> stu[i].grade[3]>>
stu[i].grade[4]>> stu[i].grade[5]>> stu[i].grade[6] 
>>stu[i].grade[7]>> stu[i].grade[8] ;
  
  stu[i].score = stu[i].grade[0] + stu[i].grade[1] + stu[i].grade[2]+stu[i].grade[3]+
stu[i].grade[4]+ stu[i].grade[5]+ stu[i].grade[6] 
+stu[i].grade[7]+ stu[i].grade[8] ;
 }
 infile.close();
 for (j=0;j<40;j++)//冒泡法排序
  for (i=0;i<40-j;i++)
  if (stu[i].score<stu[i+1].score)
  {
  t=stu[i];
  stu[i]=stu[i+1];
  stu[i+1]=t;
  } 
  for(i = 0; i < 41; i++)
  {
  cout << stu[i].num<< '\t' << stu[i].name <<'\t' <<stu[i].grade[0]
  <<'\t'<<stu[i].grade[1] <<'\t'<< stu[i].grade[2]<<'\t' <<stu[i].grade[3]<<'\t' <<stu[i].grade[4]
<<'\t' <<stu[i].grade[5]<<'\t' <<stu[i].grade[6]<<'\t' <<stu[i].grade[7]<<'\t' <<stu[i].grade[8]<<'\t'<< stu[i].score << endl;
  }
   
  cout << endl;
  cout << " 成绩前十名的同学为: " << endl;
  for(i = 0; i < 20; i++)
  {
  static array=0;
  if ( array >= 41) 
  {
  break;
  }
  if (stu[i].grade[0] >= 60 && stu[i].grade[1] >= 60 && stu[i].grade[2] >= 60&& stu[i].grade[3] >= 60
&& stu[i].grade[4] >= 60&& stu[i].grade[5] >= 60&& stu[i].grade[6] >= 60&& stu[i].grade[7] >= 60
&& stu[i].grade[8] >= 60)
  {
cout << stu[i].name<<'\t'<<stu[i].score<<endl;
  array++;
  }

  }
   
  return 0;
}
下面是在2010上的错误提示:
1>chengji.cpp(58): error C2955: “cli::array”: 使用类 模板 需要 模板 参数列表
1>chengji.cpp(58): error C2513: “cli::array”: 在“=”前没有声明变量
1>chengji.cpp(59): error C2059: 语法错误:“>=”
1>chengji.cpp(60): error C2143: 语法错误 : 缺少“;”(在“{”的前面)
1>chengji.cpp(68): error C2143: 语法错误 : 缺少“;”(在“++”的前面)
1>chengji.cpp(68): error C2059: 语法错误:“;”

[解决办法]
将静态变量array改名试试,如arr、或者a,或者其他。在C++新标准中,array是一个标准类,不能再用作标识符。

热点排行