代码有效,但一切都不按顺序

时间:2016-03-22 03:36:11

标签: c++

我的代码有问题,代码运行但所有数字都无处不在。

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;

}

一旦我删除了这行代码,代码运行得很好,但我需要这一行,以便我可以减去降雨量的平均值。这是我得到的图片。

我得到的图片 - pic1

我应该拥有的图片 - pic2

我一直在努力弄清楚过去几个小时如何解决这个问题,而我还没弄清楚出了什么问题。

更多细节:我的成本几乎应该从两个单独的“文本文件”中打印出来,基本上将它们合并到一个名为rainfall.txt的第三个文本文件中,并且在那里它们将减去一个和另一个以获得赤字。

1 个答案:

答案 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;
}
相关问题