Hi guys
I am having a problem with a peice of code. The program compiles ok ( I do get a warning about a mis-match '<' type in the for loop ).
Basically, I am trying to read in 10 scores per student, calculate the average and pass it to a vector. Now, this all seems to be working fine, but when I have read in the final grade for the first student, it terminates with no reason ( I get no seg-fault error so it isnt that ) and doesnt go to the next student.
Here is my code
Oh, and the constructor is:Code:// function to input 10 test scores and calculate // the average of the scores per student void GradeBook::inputGrades( const std::vector<std::string> &rStuNm ) { int counter = 1; int totalScore = 0; int result = 0; double average = 0; // read in 10 scores per student for ( int i = 0; i < rStuNm.size(); ) { while ( counter <= 10 ) { std::cout << "Enter grade[ " << counter << " ] for student " << rStuNm[ i ] << " : "; std::cin >> result; totalScore += result; counter++; } // calculate the average for this student average = totalScore / counter; // place claculated average in vector m_AverageOfResults.push_back ( average ); // goto the next student i++; // THIS IS NOT BEING READ? } }
In case the helps. MAX_VECTOR has a value of 10 btwCode:GradeBook::GradeBook ( std::string name ) : m_Students ( m_MAX_VECTOR, "" ), m_AverageOfResults ( m_MAX_VECTOR, 0 ), m_LetterGrade ( m_MAX_VECTOR, '\0' ), m_CourseTaken ( m_MAX_VECTOR, "" ) ...
Any help appreiciatred. It looks like somthing very simple I am doing wrong.



LinkBack URL
About LinkBacks



