C ++输出sum / avg的麻烦

时间:2015-06-29 00:09:32

标签: visual-c++

我正在学习一类C ++并被要求编写一个从文件中读取整数的程序。 第一个请求是输出一行中的所有整数 第二个请求是输出整数的平均值 香港专业教育学院尝试过本书中所写的内容,当我尝试输出总和或平均值时,它输出的数字不仅仅是总数 我怎样才能解决这个问题?我想要最简单的代码,我不想要任何我们在课堂上没有采取的东西

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

        using namespace std;

            ifstream infile;
            ofstream outfile;

  int main()
 {
    int num;

    ifstream infile;
    ofstream outfile;


    outfile.open("Answer.txt");
    infile.open("DataFile2.txt");

    infile >> num;

    while (infile)
    {
        outfile << num << " ";
        infile >> num;
    }
    infile.close();


    infile.open("DataFile2.txt");



    int sum = 0;
    while (infile)
    {
        double avg;
        infile >> num;
        sum = sum + num;
        avg = sum / 14;
        cout << endl << sum << avg;
        }



}

1 个答案:

答案 0 :(得分:0)

你的代码中有很多错误。
你应该在while循环之外声明avg变量。
另外,你应该计算平均值并在while循环完成循环后打印它。
你也要将总和除以14(常数)这是不好的,因为你不知道文件中有多少整数。

代码看起来像这样:

int sum = 0;
double avg;

while (infile) {    
    infile >> num;
    sum = sum + num;    
}

avg = sum / 14;
cout << endl << sum << avg;