我有一个文本文件,其中包含每条记录的名称、年龄和 gpa。我写了一个函数 getgpa 应该计算文件(整个类)的平均 gpa。问题是当我提取field1(姓名)、field2(年龄)和field3(gpa)时,我可以很容易地计算出全班的平均gpa。但是当我尝试只提取 field3 时,我没有任何结果。如何仅提取每条记录的 field3 (gpa)?我要提取的功能就在下面。我正在使用 Dev-C++。您的帮助将不胜感激。谢谢。
int student::getgpa()
{
double field3, gpa; double sumGPA=0; int count=0;
string field1; int field2;
char line[256];
cout<<"call of the function 'getgpa' " <<endl;
ifstream IS ("student.dat", ios::in);
while (!IS.eof())
{
if(IS>>field1>>field2>>field3) //where the problem is!
{
sumGPA=sumGPA+field3;
count++;
}
}
IS.close();
if (count>0) //just to make sur not to divide by zero!!
cout<<"gpa of the students:" <<sumGPA/count<<endl;
}