如何将C++程序运行得到的数据保存下来?
#include<iostream>#include<math.h>usingnamespacestd;intmain(){while(true){doublex,y,z...
#include <iostream>
#include <math.h>
using namespace std;
int main ()
{
while (true)
{
double x,y,z,w;
cin>>x;
y=x-12;
w=y/77;
z=log(w);
cout<<y<<endl;
cout<<z<<endl;
}
return 0;
}
以上是程序!
我想要程序计算的结果保存下来!比如说,保存到桌面上的txt!
如果需要改程序,帮忙重新写一下!如果是设置的话,请说详细一点!谢谢诶!
小弟分不多,见谅! 展开
#include <math.h>
using namespace std;
int main ()
{
while (true)
{
double x,y,z,w;
cin>>x;
y=x-12;
w=y/77;
z=log(w);
cout<<y<<endl;
cout<<z<<endl;
}
return 0;
}
以上是程序!
我想要程序计算的结果保存下来!比如说,保存到桌面上的txt!
如果需要改程序,帮忙重新写一下!如果是设置的话,请说详细一点!谢谢诶!
小弟分不多,见谅! 展开
展开全部
可以用以下三种方法保存。
1 截图。
在键盘上有一个print screen按键,当屏幕焦点位于运行结果所在dos窗口时,同时按下alt + print screen按键可以将该窗口截图。
再打开windows自带的画图程序或其他任意一款图形编辑程序,使用ctrl+v或点击粘贴,即可将截图放置于图片,然后保存为需要的图片格式即可。
2 复制。
在运行结果窗口右键,选择标记。
这时可以在运行结果的左上角按下鼠标左键,拖动到右下角,可以看到这部分内容被反选(如之前为黑底白字,则会变成白底黑字)。
在反选区域点击右键,当反选效果消失后,该部分文本已被复制到剪贴板。
打开记事本或者其它文本编辑工具,粘贴保存即可。
3 重定向。
dos中提供输出重定向功能。
假定执行的可执行文件为my.exe, 要把结果保存到result.txt中,那么可以键入:
my.exe > result.txt
这样所有的运行结果将保存在result.txt中,而不在运行窗口显示。
1 截图。
在键盘上有一个print screen按键,当屏幕焦点位于运行结果所在dos窗口时,同时按下alt + print screen按键可以将该窗口截图。
再打开windows自带的画图程序或其他任意一款图形编辑程序,使用ctrl+v或点击粘贴,即可将截图放置于图片,然后保存为需要的图片格式即可。
2 复制。
在运行结果窗口右键,选择标记。
这时可以在运行结果的左上角按下鼠标左键,拖动到右下角,可以看到这部分内容被反选(如之前为黑底白字,则会变成白底黑字)。
在反选区域点击右键,当反选效果消失后,该部分文本已被复制到剪贴板。
打开记事本或者其它文本编辑工具,粘贴保存即可。
3 重定向。
dos中提供输出重定向功能。
假定执行的可执行文件为my.exe, 要把结果保存到result.txt中,那么可以键入:
my.exe > result.txt
这样所有的运行结果将保存在result.txt中,而不在运行窗口显示。
展开全部
比如说你编译出来的命令是a.exe,那么你在命令行里执行的时候,写
a > result.txt
就能把屏幕上的输出转存到同一个目录下的result.txt里了 :)
希望有用。
如果修改程序的话,需要修改一下现在的死循环的设计,当输入的x是0时中断退出。
以下是修改后的程序,在visual studio 2005下调试通过。
#include <iostream>
#include <math.h>
using namespace std;
int main ()
{
FILE *fp;
char msg[128];
fp = fopen("result.txt", "w+");
if(fp==NULL)
return 0;
while (true)
{
double x,y,z,w;
cin>>x;
if(x==0) break;
y=x-12;
w=y/77;
z=log(w);
cout<<y<<endl;
cout<<z<<endl;
sprintf(msg, "y = %f, z = %f\n", y, z);
fputs(msg, fp);
}
fclose(fp);
return 0;
}
a > result.txt
就能把屏幕上的输出转存到同一个目录下的result.txt里了 :)
希望有用。
如果修改程序的话,需要修改一下现在的死循环的设计,当输入的x是0时中断退出。
以下是修改后的程序,在visual studio 2005下调试通过。
#include <iostream>
#include <math.h>
using namespace std;
int main ()
{
FILE *fp;
char msg[128];
fp = fopen("result.txt", "w+");
if(fp==NULL)
return 0;
while (true)
{
double x,y,z,w;
cin>>x;
if(x==0) break;
y=x-12;
w=y/77;
z=log(w);
cout<<y<<endl;
cout<<z<<endl;
sprintf(msg, "y = %f, z = %f\n", y, z);
fputs(msg, fp);
}
fclose(fp);
return 0;
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
很简单,只需把cout关联到所要输出的文件即可;
比如将结果保存到E:\cout.txt 下
#include<iostream>
#include<fstream>
#include<cmath>
using namespace std;
int main()
{
ofstream file("E:\\cout.txt");
cout.rdbuf(file.rdbuf());
while (true)
{
double x=0,y=0,z=0,w=0;
cin>>x;
if(x==0)break;
y=x-12.0;
w=y/77;
z=log(w);
cout<<y<<endl;
cout<<z<<endl;
}
}
比如将结果保存到E:\cout.txt 下
#include<iostream>
#include<fstream>
#include<cmath>
using namespace std;
int main()
{
ofstream file("E:\\cout.txt");
cout.rdbuf(file.rdbuf());
while (true)
{
double x=0,y=0,z=0,w=0;
cin>>x;
if(x==0)break;
y=x-12.0;
w=y/77;
z=log(w);
cout<<y<<endl;
cout<<z<<endl;
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-04-11
展开全部
#include <math.h>
#include <iostream>
#include <fstream>
using namespace std;
int main ()
{
ofstream f("c:\\1.txt");
while (true)
{
double x,y,z,w;
cin>>x;
y=x-12;
w=y/77;
z=log(w);
cout<<y<<endl;
f<<y<<endl;
cout<<z<<endl;
f<<y<<endl;
}
f.close();
return 0;
}
你的程序不能正确结束啊
#include <iostream>
#include <fstream>
using namespace std;
int main ()
{
ofstream f("c:\\1.txt");
while (true)
{
double x,y,z,w;
cin>>x;
y=x-12;
w=y/77;
z=log(w);
cout<<y<<endl;
f<<y<<endl;
cout<<z<<endl;
f<<y<<endl;
}
f.close();
return 0;
}
你的程序不能正确结束啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
FILE *fp
fp=fopen("data.txt","W");
if(fp==NULL)
printf("打开失败\n");
else
fprintf(fp,XXX); //XXX是你的数据
fclose(fp);
fp=fopen("data.txt","W");
if(fp==NULL)
printf("打开失败\n");
else
fprintf(fp,XXX); //XXX是你的数据
fclose(fp);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询