读取该文件,然后创建一个动态数组

时间:2017-11-17 05:15:08

标签: c++

我想要得到所有数字的总和和平均值。 我没有收到任何错误或正确的输出。 任何帮助表示赞赏

 #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;
}

1 个答案:

答案 0 :(得分:-1)

我认为您的问题是您遍历整个文件以获取输入的大小,但是当您重新打开它时,您在文件中的位置仍然在最后。在重新打开它之前,请查看this link以使其返回到开头。