不太确定我哪里出错了。当我执行时它没有输出任何东西,所以我假设它卡在某个地方并且无休止地继续。作业如下——“编写一个程序,读取一个包含 0-200 范围内学生考试成绩的文件。然后它应该确定在以下每个范围内获得分数的学生人数:0-24,25- 49,50-74,75-99,100-124,125-149,150-174,175-200。输出输入数据。”
#include "stdafx.h"
#include "iostream"
#include "fstream"
using namespace std;
int main()
{
ofstream outFile;
ifstream inFile;
int num;
int category[8] = { 0,0,0,0,0,0,0,0 };
outFile.open("testscores.txt");
if (!outFile)
{
cout << "outFile open failed." << endl;
return 0;
}
outFile << "blah blah" << endl << endl;
inFile.open("scorestest.txt");
if (!inFile)
{
cout << "infile failed" << endl;
return 0;
}
inFile >> num;
while (!inFile.eof())
{
if (num < 25)
category[0]++;
else if (num < 50)
category[1]++;
else if (num < 75)
category[2]++;
else if (num < 100)
category[3]++;
else if (num < 125)
category[4]++;
else if (num < 150)
category[5]++;
else if (num < 175)
category[6]++;
else if (num < 200)
category[7]++;
}
for (int i = 0; i <= 7; i++)
{
cout << "Number of Grades between" << category[i] << endl;
outFile << "Number of Grades between" << category[i] << endl;
}
inFile.close();
outFile.close();
return 0;
}
在这方面挣扎了一段时间。可能是我的 inFile 吗?我已经重写了 3 次不同的代码来让这个程序在没有运气的情况下工作
您没有在文件中前进,而是在num
之前阅读的文件上进行操作而不再阅读,nums
因此您根本没有到达文件的末尾。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句