0

「test.dat」ファイルを開こうとしたときに、何が間違っているのかを理解するのに苦労しています。開いているようですが、出力を出すために読んでいません。プログラムは、数値の頻度を読み取ることになっています。

#include <iostream>
#include <vector>
#include <fstream>
#include <string>
using namespace std;


int main()
{
string fileName;
int aTest;

cout << "Enter a File Name: ";
cin >> fileName;

ifstream inFile (fileName.c_str());
if (! inFile)
{
cout << "!!Error in opening file 'test.dat'"<< endl;
}

vector<int> test(101, 0); 
while(inFile >> aTest) {
test[aTest]++;
}

system("pause");
return 0;
}

test.dat ファイル

75  85   90  100  
60  90  100   85
75  35   60   90
100 90   90   90
60  50   70   85
75  90   90   70

これは私の出力が今どのように見えるかです

Enter a File Name: test.dat
Press any key to continue . . .

本来あるべき姿

Enter file name: test.dat
100: 3
90: 8
85: 3
75: 3
70: 2
60: 3
50: 1
35: 1
4

1 に答える 1

1

あなたのプログラムは何も出力しようとしないので、何も出力されなくても不思議ではありません。ループを追加して、ゼロ以外のエントリを出力します。

for (int i = 100; i >= 0; i--)
{
    if (test[i])
    {
        cout << i << ": " << test[i] << endl;
    }
}
于 2013-06-20T00:30:18.797 に答える