我想要得到所有数字的总和和平均值。 我没有收到任何错误或正确的输出。 任何帮助表示赞赏
#include <iostream>
#include <fstream>
#include <string>
#include <iomanip>
using namespace std;
int main(){
double temp;
double total = 0.0;
double avg;
int counter = 0;
ifstream file("dataFile.txt");
while (file >> temp)
{
cout << temp << " " << endl;;
++counter;
}
cout << "Total number of elements: " << counter << endl;
file.close();
file.open("dataFile.txt");
double *num = new double[counter]();
for (int i = 0; i < counter; i++) {
cin >> num[i];
}
for (int i = 0; i < counter; i++) {
total += num[i];
}
avg = total / counter;
cout << "\n\nTotal: " << total << endl;
cout << "Average: " << avg << endl;
delete[] num;
num = 0;
return 0;
}
答案 0 :(得分:-1)
我认为您的问题是您遍历整个文件以获取输入的大小,但是当您重新打开它时,您在文件中的位置仍然在最后。在重新打开它之前,请查看this link以使其返回到开头。