陷入while循环?

时间:2017-11-10 17:36:30

标签: c++

不太确定我哪里出错了。当我执行时它没有输出任何东西,所以我假设它卡在某处并且无休止地继续。作业如下 - “编写一个程序,读取一个由学生组成的测试分数在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吗?我已经重写了三次不同的代码,让这个程序没有运气

1 个答案:

答案 0 :(得分:1)

你没有在文件中前进,你正在使用之前阅读的那个num而不再阅读nums,所以你根本没有到达文件的末尾。< / p>

相关问题