我创建了一个运行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;
}
答案 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;
}