gpt4 book ai didi

c++ - 代码有效,但一切都乱七八糟

转载 作者:太空狗 更新时间:2023-10-29 22:59:42 24 4
gpt4 key购买 nike

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

RainfallToDate.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

averageRainfall.txt:

 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;

}

我知道我的问题在哪里,就在

double a;
double b;

while (fin_average >> a && fin_rainFall >> b){
fout <<"\t" << (a-b) << endl;

}

删除这行代码后,代码运行完美,但我需要这一行,以便我可以将平均值减去降雨量。这是我得到的图片。

我得到的图片 - pic1

我应该拥有的图片 - pic2

在过去的几个小时里,我一直在努力弄清楚如何解决这个问题,但我还没有弄清楚哪里出了问题。

更多细节:我的大部分成本应该是从两个单独的“文本文件”中打印出数据,本质上是将它们合并到第三个文本文件中,称为 rainfall.txt,然后在其中减去一个和另一个以获得赤字。

最佳答案

循环应该是:

 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;
}

关于c++ - 代码有效,但一切都乱七八糟,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36145677/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com