我正在努力完成课堂作业。我试过写这几种方式,我非常困惑。
作业:
从文件中读取十个整数值,并将它们存储在一个 数组或向量。您将编写的程序将读取并存储 从温度计读取的最后十个值。阅读 值应该在一个带整数的单独函数中完成 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的函数。
答案 0 :(得分:0)
&#34;此功能的全部目的是从文件中读取,然后创建数组&#34;
没有!你必须事先有一个数组。它要么足够大,要读取文件中的所有数据,要么必须使用动态内存管理。
但更好的是,您可以使用std::vector<int>
之类的适当容器在从文件中读取时接收数据。