break 语句不在循环或 switch 语句中?

Break statement is not in loop or switch statement?

我的代码有问题,我已经在本网站的其他论坛上阅读过有关此问题的信息,但它们与我的情况并不真正相关。我是 C++ 的新手,我的课程只有大约 3 周的时间。我不知道为什么我的 break 语句不起作用,对我来说它在循环中。我错过了什么?

float a[60][7];
int row;
cout << "How many students would you like to grade?" << endl;

cin >> studentNum;

cout << "Enter grades for the first student" << endl;

row = 0;
n = studentNum - 2;

while (row < studentNum)
{
    a[row][0]=k;
    a[row][0] = row;
    cout << "Enter grade for test 1: ";
    cin >> a[row][1];
    cout << "Enter grade for test 2: ";
    cin >> a[row][2];
    cout << "Enter grade for test 3: ";
    cin >> a[row][3];
    cout << "Enter grade for test 4: ";
    cin >> a[row][4];



    a[row][5] = (a[row][1] + a[row][2] + a[row][3] + a[row][4]) / 4;
    a[row][6] = a[row][1] * 0.2 + a[row][2] * 0.3 + a[row][3] * 0.3 + a[row][4] * 0.2;

    row++;
}
if (row == n)
{
    cout << "Enter Grades for the last Student" << endl;
    cout << "Enter grade for test 1: ";
    cin >> a[row][1];
    cout << "Enter grade for test 2: ";
    cin >> a[row][2];
    cout << "Enter grade for test 3: ";
    cin >> a[row][3];
    cout << "Enter grade for test 4: ";
    cin >> a[row][4];
    break;
}
else
{ 
   cout << "Enter grades for the next student" << endl;
   row = row + 1;
}



cout << "Stdnt" << "\t" << "Grade1" << "\t" << "Grade2" << "\t" << "Grade3" << "\t" << "Grade4" << "\t" << "Avg1" << "\t" << "Avg2" << endl;
printarray(a, studentNum);

cin.get();
return 0;

是这样的吗?

float a[60][7];
int row = 0;

std::cout << "How many students would you like to grade?" << std::endl;
std::cin >> studentNum;

n = studentNum - 2;

std::cout << "Enter grades for the first student" << std::endl;
while (row <= n)
{
  a[row][0] = k;
  a[row][0] = row;
  std::cout << "Enter grade for test 1: ";
  std::cin >> a[row][1];
  std::cout << "Enter grade for test 2: ";
  std::cin >> a[row][2];
  std::cout << "Enter grade for test 3: ";
  std::cin >> a[row][3];
  std::cout << "Enter grade for test 4: ";
  std::cin >> a[row][4];


  a[row][5] = (a[row][1] + a[row][2] + a[row][3] + a[row][4]) / 4;
  a[row][6] = a[row][1] * 0.2 + a[row][2] * 0.3 + a[row][3] * 0.3 + a[row][4] * 0.2;

  if (row==n)
  {
    std::cout << "Enter Grades for the last Student" << std::endl;
    std::cout << "Enter grade for test 1: ";
    std::cin >> a[row][1];
    std::cout << "Enter grade for test 2: ";
    std::cin >> a[row][2];
    std::cout << "Enter grade for test 3: ";
    std::cin >> a[row][3];
    std::cout << "Enter grade for test 4: ";
    std::cin >> a[row][4];
  }
  else
  { 
    std::cout << "Enter grades for the next student" << std::endl;
  }

  row++;
}

std::cout << "Student" << "\t" << "Grade1" << "\t" << "Grade2" << "\t" << "Grade3" << "\t" << "Grade4" << "\t" << "Avg1" << "\t" << "Avg2" << std::endl;
printarray(a, studentNum);

std::cin.get();
return 0;

P.S。使用固定编辑