Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

C++ I\'m having a syntax error at \" if (myclass[i].average >= 90) \" its says i

ID: 639099 • Letter: C

Question

C++

I'm having a syntax error at   " if (myclass[i].average >= 90) " its says i is undeclared, eventhough its in the for statement. Anyone see what I did wrong?

void student::calculation()
{
   for (int i = 0; i < numberofstudents; i++)
       myclass[i].average = myclass[i].quiz1 * 10 * .125 + myclass[i].quiz2 * 10 * .125 + myclass[i].midterm *.25 + myclass[i].final * .50;

   {
       if (myclass[i].average >= 90)
           myclass[i].grade = 'A';
       else if (myclass[i].average >= 80)
           myclass[i].grade = 'B';
       else if (myclass[i].average >= 70)
           myclass[i].grade = 'C';
       else if (myclass[i].average >= 60)
           myclass[i].grade = 'D';
       else
           myclass[i].grade = 'f';
   }
}

Explanation / Answer

for (int i = 0; i < numberofstudents; i++)
       myclass[i].average = myclass[i].quiz1 * 10 * .125 + myclass[i].quiz2 * 10 * .125 + myclass[i].midterm *.25 + myclass[i].final * .50;

   {
       if (myclass[i].average >= 90)
           myclass[i].grade = 'A';
       else if (myclass[i].average >= 80)
           myclass[i].grade = 'B';
       else if (myclass[i].average >= 70)
           myclass[i].grade = 'C';
       else if (myclass[i].average >= 60)
           myclass[i].grade = 'D';
       else
           myclass[i].grade = 'f';
   }

after for loop you kept

myclass[i].average = myclass[i].quiz1 * 10 * .125 + myclass[i].quiz2 * 10 * .125 + myclass[i].midterm *.25 + myclass[i].final * .50;

thats why....it was executing..next line it not enters into loop so thats why i is not defined