c ++从文本读取数字到整数数组,计算平均值

时间:2014-10-26 18:50:57

标签: c++ arrays file-io

我正在努力完成课堂作业。我试过写这几种方式,我非常困惑。

作业:

  

从文件中读取十个整数值,并将它们存储在一个   数组或向量。您将编写的程序将读取并存储   从温度计读取的最后十个值。阅读   值应该在一个带整数的单独函数中完成   array作为参数,并从名为tempInput.txt的文件中读取:   示例:void readData(int tempArray [])文件编号将打开   连续的线。然后,从main,你将调用另一个函数,   其签名和返回类型是:bool isDangerous(int   tempArray []);函数是危险的,将总和中的值相加   tempArray除以10,将结果(平均值)存储在另一个中   适当数据类型的变量。然后,如果温度是   大于100,该函数应返回true。如果它是100或   少,它应该返回false。在main中,你应该使用函数   一种打印的方式:temp是正常的(如果返回false)或者   温度过高(如果> 100)

如果我写一个函数readData(int array []),那么我必须已经有一个数组作为参数传递。 但是,这个函数的全部目的是从文件中读取,然后创建数组。我需要写一个占位符temp。阵列?

我是否需要将数组设为字符串然后解析为int或double?

我的非工作开始是:

 #include <iostream>
#include <fstream>
#include <vector>
using namespace std;

//prototypes
void readTemp();


int main()
{
    int allTemp[10];

    readTemp();
}

void ReadTemp()
{
    ifstream in_File;
    int inNumbers[10];
    double average;

    in_File.open("tempInput.txt");

    for(int i = 0; i < 10; ++i)
    {
        in_File>>inNumbers[i];
        average = inNumbers[i++]/i;
    }
    cout<< average <<endl;
}

感谢您的任何提示。我无法在工作中读取文件,所以我没有开始平均数据并返回bool的函数。

1 个答案:

答案 0 :(得分:0)

  

&#34;此功能的全部目的是从文件中读取,然后创建数组&#34;

没有!你必须事先有一个数组。它要么足够大,要读取文件中的所有数据,要么必须使用动态内存管理。

但更好的是,您可以使用std::vector<int>之类的适当容器在从文件中读取时接收数据。