我的代码有问题,代码运行但所有数字都无处不在。
RainfallToDate.txt:
#include
averageRainfall.txt:
0.01
1.74
0.19
0.65
0.50
0.10
0.00
0.02
0.01
0.06
1.57
7.76
以下是代码:
2.99
3.32
2.04
1.06
0.39
0.09
0.00
0.00
0.23
0.78
1.88
2.12
我知道我的问题在哪里,而且在
#include <iostream> // for cout
#include <fstream> // for file I/O
#include <cstdlib> // for exit()
using namespace std;
int main()
{
ifstream fin;
ofstream fout;
ifstream fin_rainFall("rainfallToDate.txt");
ifstream fin_average("averageRainfall.txt");
if (fin.fail())
{
cout << "Input file failed to open.\n";
exit(-1);
}
fout.open("rainfall.txt");
if (fout.fail())
{
cout << "Output file failed to open.\n";
exit(-1);
}
fout << "Rainfall for Cupertino: A Comparison\n" << endl;
fout << "Month\tAverage\t 2015\tDeficit\n" << endl;
for (int i = 1 ; i <= 12 ;i++) { // counts the month from 1-12
char num[256];
char num2[256];
fout<< i << "\t";
fin_average.getline(num,256);
fout<<num << "\t";
fin_rainFall.getline(num2,220);
fout<<num2<< "\t";
double a;
double b;
while (fin_average >> a && fin_rainFall >> b){
fout <<"\t" << (a-b) << endl;
}
}
fin.close();
fout.close();
return 0;
}
一旦我删除了这行代码,代码运行得很好,但我需要这一行,以便我可以减去降雨量的平均值。这是我得到的图片。
我得到的图片 -
我应该拥有的图片 -
我一直在努力弄清楚过去几个小时如何解决这个问题,而我还没弄清楚出了什么问题。
更多细节:我的成本几乎应该从两个单独的“文本文件”中打印出来,基本上将它们合并到一个名为rainfall.txt的第三个文本文件中,并且在那里它们将减去一个和另一个以获得赤字。
答案 0 :(得分:1)
循环应该是:
for (int i = 1 ; i <= 12 ;i++) { // counts the month from 1-12
double a;
double b;
fin_average >> a;
fin_rainFall >> b;
fout << i << "\t" <<a <<"\t" << b << "\t" << (a-b) << endl;
}