我对编程非常陌生,而且我似乎碰壁了。我试图写一个简单的代码,从不同的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;
}
}
答案 0 :(得分:0)
简答:return 0;
语句位于while
循环内。
您希望循环对输入中的每条记录进行一些读取和平均。完成后,您可以通过关闭文件进行清理。因此循环在处理记录之后和清理之前结束。
将大括号从return
移到第一个close
之前。