从文本文件中读取数据,然后获得平均值

时间:2014-07-13 00:59:22

标签: input output average

我对编程非常陌生,而且我似乎碰壁了。我试图写一个简单的代码,从不同的Bowlers读取分数,然后找到每个Bowler的平均值。我的代码似乎读取了第一行分数然后停止。有什么建议?这就是我所拥有的

    #include <iostream>
    #include <fstream>
    #include <iomanip>
    #include <string>
    #include <sstream>
    #include <vector>

using namespace std;



int main ()
{


    ifstream inFile;
    ofstream outFile;

    double score1, score2, score3;
    double average;

    string firstname;
    string lastname;  

    inFile.open ("scores.txt");
    outFile.open ("scoreavg.out");

    ifstream ("scores.txt");
    string content;

    while (inFile >> content)
    {
        cout << content << ' ';



    inFile >> firstname >> lastname ;
    outFile << "Bowler name: " <<firstname << " " << lastname << endl;

    inFile >> score1 >> score2 >> score3;
    outFile << "scores: " << setw(4) << score1 << setw(4) << score2 << setw(4)<< score3 << endl;

    average = (score1 + score2 + score3)/3;

    outFile << "Average score: " << setw(4) << average<< endl;

    inFile.close();
    outFile.close();

    return 0;

    }
}

1 个答案:

答案 0 :(得分:0)

简答:return 0;语句位于while循环内。

您希望循环对输入中的每条记录进行一些读取和平均。完成后,您可以通过关闭文件进行清理。因此循环在处理记录之后和清理之前结束。

将大括号从return移到第一个close之前。