将变量输出到文本文件

时间:2015-10-22 16:50:04

标签: c++

我创建了一个运行Eulers方法的文件,我不知道如何计算出的变量出现在文本文件中。我想要显示y和x的每个迭代。我很抱歉,但我对c ++缺乏经验,无法理解为什么这不起作用。如果有人可以提供帮助,将非常感激。

#include<iostream>
#include <math.h>
#include<fstream>
using namespace std;
int main()
{
    double h = (1.0 / 100.0);
    double y = 0;
    double x = 0;


    for (x = 0; x <= 1; x = x + h)
    {
        y = y + h*(x*exp(3 * x) - 2 * y);


        ofstream demoFile;
        demoFile.open("texttexttext.txt");
        if (!demoFile) return 1;
        demoFile << y << ' ' << x << endl;


    }


    demoFile.close();

    return 0;

}

2 个答案:

答案 0 :(得分:4)

将这些线条放在循环之外。

ofstream demoFile;
demoFile.open("texttexttext.txt");
if (!demoFile) return 1;

答案 1 :(得分:4)

您遇到的问题是每次迭代都会打开文件,导致您每次迭代都会覆盖该文件。如果您将文件打开到for循环之外,您将获得正确的文本文件。

#include<iostream>
#include <math.h>
#include<fstream>
using namespace std;
int main()
{
    double h = (1.0 / 100.0);
    double y = 0;
    double x = 0;
    ofstream demoFile("texttexttext.txt"); // no need to call open just open with the constructor
    if (!demoFile) return 1;

    for (x = 0; x <= 1; x = x + h)
    {
        y = y + h*(x*exp(3 * x) - 2 * y);

        demoFile << y << ' ' << x << endl;
    }

    return 0;
}