如何将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!
如果需要改程序,帮忙重新写一下!如果是设置的话,请说详细一点!谢谢诶!
小弟分不多,见谅!
展开
 我来答
风若远去何人留
2015-06-07 · 知道合伙人互联网行家
风若远去何人留
知道合伙人互联网行家
采纳数:20412 获赞数:450106
专业C/C++软件开发

向TA提问 私信TA
展开全部
可以用以下三种方法保存。
1 截图。
在键盘上有一个print screen按键,当屏幕焦点位于运行结果所在dos窗口时,同时按下alt + print screen按键可以将该窗口截图。
再打开windows自带的画图程序或其他任意一款图形编辑程序,使用ctrl+v或点击粘贴,即可将截图放置于图片,然后保存为需要的图片格式即可。

2 复制。
在运行结果窗口右键,选择标记。
这时可以在运行结果的左上角按下鼠标左键,拖动到右下角,可以看到这部分内容被反选(如之前为黑底白字,则会变成白底黑字)。

在反选区域点击右键,当反选效果消失后,该部分文本已被复制到剪贴板
打开记事本或者其它文本编辑工具,粘贴保存即可。

3 重定向。
dos中提供输出重定向功能。
假定执行的可执行文件为my.exe, 要把结果保存到result.txt中,那么可以键入:
my.exe > result.txt
这样所有的运行结果将保存在result.txt中,而不在运行窗口显示。
小鱼1979117
2011-04-11 · TA获得超过1.1万个赞
知道大有可为答主
回答量:1905
采纳率:0%
帮助的人:1077万
展开全部
比如说你编译出来的命令是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;
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
滨崎步最爱
2011-04-11 · TA获得超过665个赞
知道小有建树答主
回答量:705
采纳率:0%
帮助的人:452万
展开全部
很简单,只需把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;
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
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;
}
你的程序不能正确结束啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
huhuixuefei
2011-04-11 · TA获得超过224个赞
知道答主
回答量:144
采纳率:0%
帮助的人:75.7万
展开全部
FILE *fp
fp=fopen("data.txt","W");
if(fp==NULL)
printf("打开失败\n");
else
fprintf(fp,XXX); //XXX是你的数据
fclose(fp);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式