我正在写作业作业,要求用户阅读包含未知数量的SSN和成绩的文本文件。然后程序需要计算最大值,最小值和平均值,然后输出相关SSN以及最小值和平均值的最大值。没有得到预期的输出
它似乎运行正常,但输出全部为“0”。
任何帮助解决这个问题,非常感谢。
代码:
#include <iostream>
#include <fstream>
#include <string>
#include <iomanip>
using namespace std;
int main()
{
string ssn, maxSSN;
int grade = 0, totalGrades = 0, count = 0, maxScore = 0, minScore = 0;
double avgScore = 0;
ifstream inFile;
inFile.open("C:\\lab5a.txt");
if(!inFile)
{
cout << "Error opening the requested file\n\n";
system("pause");
return 101;
}
while (!inFile.eof())
{
if (count == 0)
{
maxScore = grade;
minScore = grade;
}
else
{
if (grade > maxScore)
maxScore = grade;
if (grade < minScore)
minScore = grade;
}
grade += totalGrades;
count++;
}
if (count)
avgScore = totalGrades/count;
cout << "Maximum Score: " << maxScore << " Student SSN:" << maxSSN << "\n";
cout << "Minimum Score: " << minScore << "\n";
cout << "Average Score: " << avgScore << "\n";
// studentFile >> ssn >> grade;
inFile.close();
cout << "\n\n";
system("pause");
return 0;
}
'totalGrades'在“文件读取”循环中永远不会被修改。 – DCoder 2013-03-27 19:27:49
你永远不会读取文件。这真的是你的代码,因为它看起来像它永远不会完成...? – RichieHindle 2013-03-27 19:28:05
含糊不清的标题不可能对未来的访问者有用。太本地化了。 – 2013-03-27 20:00:52