C++ 为什么是';i';未声明的标识符?(c+;+;)

C++ 为什么是';i';未声明的标识符?(c+;+;),c++,C++,我可以用“I”来表示课程,但不能表示成绩。我看了其他的例子,他们做了同样的事情,允许“我”在年级部分 #include <iostream> using namespace std; int main() { float course1; float grade1; float totalhour =0; float points; float totalpoints =0; for(int i = 1; i <=4; ++i) cout <

我可以用“I”来表示课程,但不能表示成绩。我看了其他的例子,他们做了同样的事情,允许“我”在年级部分

#include <iostream>

using namespace std;

int main() {
  float course1;
  float grade1;
  float totalhour =0;
  float points;
  float totalpoints =0;
  for(int i = 1; i <=4; ++i)
  cout << "Course " << i << "hours" ;
  cin >> course1;

  cout << "Grade for course " << i << endl;
  cin >> grade1;
}
#包括
使用名称空间std;
int main(){
浮动层1;
浮球一级;
浮动总小时=0;
浮点数;
浮点数=0;

for(int i=1;i
i
for
循环结束后超出范围


for(int i=1;i这是因为
i
是在
for
循环中声明的,因此它只能在循环中使用

#include <iostream>

using namespace std;

int main() {
  float course1;
  float grade1;
  float totalhour =0;
  float points;
  float totalpoints =0;
  int i;
  for(i = 1; i <=4; ++i)
  cout << "Course " << i << "hours" ;
  cin >> course1;

  cout << "Grade for course " << i << endl; // i will be 5 here
  cin >> grade1;
}
如果你想重复多件事,你应该用
{}
把它们围起来

#include <iostream>

using namespace std;

int main() {
  float course1;
  float grade1;
  float totalhour =0;
  float points;
  float totalpoints =0;
  for(int i = 1; i <=4; ++i) {
    cout << "Course " << i << "hours" ;
    cin >> course1;

    cout << "Grade for course " << i << endl;
    cin >> grade1;
  }
}

你只能在循环体中使用
i
cout没有任何括号,循环的
唯一迭代的是下一个
cout总是使用花括号,特别是在开始时。这个答案没有解释需要使用什么以及为什么done@zolty13OP没有要求修复,只是“为什么‘i’是未声明的标识符?”
#include <iostream>

using namespace std;

int main() {
  float course1;
  float grade1;
  float totalhour =0;
  float points;
  float totalpoints =0;
  int i;
  for(i = 1; i <=4; ++i)
  cout << "Course " << i << "hours" ;
  cin >> course1;

  cout << "Grade for course " << i << endl; // i will be 5 here
  cin >> grade1;
}