-6
どこが間違っているかわからない。私が実行すると何も出力しないので、どこかに詰まっていて、無限に続くと思っています。 「0から200の範囲の学生の試験得点からなるファイルを読み込むプログラムを書く。次に、0-24,25- 49,50-74,75-99,100-124,125-149,150-174,175-200。入力データを出力してください。whileループにはまった?
#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ですか?私は、このプログラムはあなたがファイルに進出されていない運
whileループではinFileから読んでいるわけではないので、ファイル – user3288829
の最後に到達することはありません。https://stackoverflow.com/questions/5605125/why-is-iostreameof-inside-a-loop -condition-considered-wrong –
デバッガでステップ実行してください。*何が起こっているかを見てください。 –