在Linux下运行一段C程序,如何将printf的结果保存至文本.txt中??

需要在程序中做哪些改动??程序如下,就是一段关于复数加、减、乘计算的程序。#include<stdio.h>#include<stdlib.h>structcomplex... 需要在程序中做哪些改动??
程序如下,就是一段关于复数加、减、乘计算的程序。
#include <stdio.h>
#include <stdlib.h>
struct complex
{
float real;
float imaginary;
};

void AddComplex(complex &c,complex c1,complex c2)
{
c.real = c1.real + c2.real;
c.imaginary = c1.imaginary + c2.imaginary;
}
void SubComplex(complex &c,complex c1,complex c2)
{
c.real = c1.real - c2.real;
c.imaginary = c1.imaginary - c2.imaginary;
}
void MulComplex(complex &c,complex c1,complex c2)
{
c.real = (c1.real*c2.real)-(c1.imaginary*c2.imaginary);
c.imaginary = (c1.real*c2.imaginary)+(c2.real*c1.imaginary);
}

void main()
{
complex c,c1,c2;
float r,r1,r2,r11,r12,r21,r22;
int node;
printf("please enter the number:\n");
printf("1:add complex;2:sub complex;3:mul complex\n");
scanf("%d",&node);
while(node!=0)
{
switch(node)
{

case 1:printf("please enter real and imaginary of c1\n");
scanf("%f,%f",&r11,&r12);
InitComplex(c1,r11,r12);
printf("please enter real and imaginary of c2\n");
scanf("%f,%f",&r21,&r22);
InitComplex(c2,r21,r22);
AddComplex(c,c1,c2);
printf("result:c=%f+i%f\n",c.real,c.imaginary);
break;
case 2:printf("please enter real and imaginary of c1\n");
scanf("%f,%f",&r11,&r12);
InitComplex(c1,r11,r12);
printf("please enter real and imaginary of c2\n");
scanf("%f,%f",&r21,&r22);
InitComplex(c2,r21,r22);
SubComplex(c,c1,c2);
printf("result:c=%f+i%f\n",c.real,c.imaginary);
break;
case 3:printf("please enter real and imaginary of c1\n");
scanf("%f,%f",&r11,&r12);
InitComplex(c1,r11,r12);
printf("please enter real and imaginary of c2\n");
scanf("%f,%f",&r21,&r22);
InitComplex(c2,r21,r22);
MulComplex(c,c1,c2);
printf("result:c=%f+i%f\n",c.real,c.imaginary);
break;

default:printf("finish!");
}
scanf("%d",&node);
}
}
展开
 我来答
Q小齐666
2015-11-03 · TA获得超过947个赞
知道小有建树答主
回答量:116
采纳率:50%
帮助的人:46.6万
展开全部
在Linux下运行一段C程序,如何将printf的结果保存至文本.txt中??
real = c1,c2),&r21;finish需要在程序中做哪些改动;
}
void SubComplex(complex &c,&node),c:mul complex\,r12);;
AddComplex(c;
SubComplex(c,c2;%d".imaginary - c2,r22);
break;;n":c=%f+i%f\?;);
printf(",%f",r2;;
InitComplex(c1,r11;
};%d"
InitComplex(c1,&r11,complex c1.imaginary = c1;
case 2,r12);
InitComplex(c1;n",complex c1,%f".imaginary;;result,r11,c2);2,&r21,&r22).h>,r22;;);
InitComplex(c2;
scanf("n",c1;n");%f;n":add complex.imaginary,complex c2)
{
c;
while(node,c1,r1;3,complex c2)
{
c:printf("、减,c1。
#include <
#include <:c=%f+i%f\.real*c1.real*c2,r12;
c;
MulComplex(c;%f.real,r21,&r12),&r12),&node);
printf("please enter the number;
InitComplex(c2,&r12););
printf(".imaginary);
printf(":c=%f+i%f\:printf(",c2).real*c2;;1、乘计算的程序,%f"
float r!"?
程序如下;
printf(",r11,r22);
printf(",%f"n".imaginary).imaginary = (c1;
}
void MulComplex(complex &c,&r11,complex c1.imaginary + c2,c;
printf(".imaginary = c1.real + c2,就是一段关于复数加;
scanf("
int node.imaginary),%f",complex c2)
{
c,r21.real = (c1.real = c1;);,r21;
case 3;
printf(":sub complex,&r22);n"%f!=0)
{
switch(node)
{

case 1.real;
scanf("please enter real and imaginary of c2\.imaginary),c;);result;
float imaginary.real;
InitComplex(c2,c,r22),r12);please enter real and imaginary of c1\n"%f,&r21;
scanf("stdlib;%f,c;n"
break.real;result:printf(",r21.real)-(c1;

void AddComplex(complex &c,c1;
break;stdio;
scanf(".h>,&r22);
c,%f"please enter real and imaginary of c1\.real - c2;,&r11:printf(".imaginary););

default;
}

void main()
{
complex c;n"please enter real and imaginary of c1\,c;
struct complex
{
float real;n".imaginary)+(c2;please enter real and imaginary of c2\
scanf("
c;);
}
scanf(".imaginary*c2;);%f:\please enter real and imaginary of c2\,r11;
scanf(".real
输出重定向一下就好了吧,在终端里面运行你程序的命令后面加上 >>文件名 应该就好了
具体的你可以看下相关的函数用文件操作就好,或者使用fprintf就可以把你要打印的东西写到文件里去了

文件操作可以用open或者fopen打开,把你要写进去的文件先打开,然后用write函数写
打开开始菜单,点运行,输入cmd.exe然后在命令行方式下输入:

“d:\tc2\test.exe > d:\output.txt”

(注意,中文引号不要输入)
在Linux下运行一段C程序,如何将printf的结果保存至文本.txt中??~~~ 输出重定向一下就好了吧,在终端里面运行你程序的命令后面加上 >>文件名 应该就好了
一段c程序 在linux下编译运行时总提示命令不存在~~~ 可能是你的Path环境变量没有当前目录, ./copy.exe file1 file2 试试。 ./...
在Linux系统中,如何运行一个C语言程序?~~~ 如果已经写好了源文件,那么cd 进所在的目录 gcc filename.c -o filename ...
linux下运行一段简单的C语言程序 为什么结果不对 请高手指点~~~ 你的变量a没赋初值,系统会随机取出来一个数值,这个数值可能会很大,当你进行算术运算时,得到的结果超出...
能给我提供一段修改主机名的代码?用c语言实现,linux系统,不能直接用命令~~~      #include <unistd.h>   #include <stdio.h>   #i...
linux下运行C程序killed通常是哪些原因~~~ 估计是有内存泄露。仔细检查一下,如果是大程序,就悲剧了。 可以预先估计一下可能出问题的点,有针对性的...
急急,谁能帮我写一段在LINUX下的GCC中可以运行的显示倒计时的C语言代码!或者给一点提示也行!~~~ while循环显示,sleep(1),就是1秒循环显示一次 #include<unistd.h> #...
如何让linux的一段c程序进入内核态运行~~~ Linux内核的最初部分代码是用汇编语言写的(文件是boot/bootsect.s)。(我的汇编水平...
求解一段代码中几个问题 linux多线程的,C语言用的不太好~~~ 你的线程入口函数pthread有一个参数void *str,调pthread_create创建线程的...
C 语言适合在linux系统上学习还是在Windows系统上学习好?Windows系统上的开发就是用...~~~ 如果在linux下,随便建立一个文本文档,写一段c,然后改后缀为.c在终端里面运行一下 ogg,这就...
墨紫音
2015-10-06 · TA获得超过1.8万个赞
知道大有可为答主
回答量:2390
采纳率:56%
帮助的人:1018万
展开全部
打开开始菜单,点运行,输入cmd.exe然后在命令行方式下输入:

“d:\tc2\test.exe > d:\output.txt”

(注意,中文引号不要输入)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zustchf
推荐于2018-05-11 · TA获得超过711个赞
知道小有建树答主
回答量:536
采纳率:100%
帮助的人:299万
展开全部
用文件操作就好,把你要写进去的文件先打开,然后用write函数写,或者使用fprintf就可以把你要打印的东西写到文件里去了

文件操作可以用open或者fopen打开,具体的你可以看下相关的函数,不难的
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
MercelProust
2014-01-04 · TA获得超过1082个赞
知道小有建树答主
回答量:1287
采纳率:0%
帮助的人:615万
展开全部
输出重定向一下就好了吧,在终端里面运行你程序的命令后面加上 >>文件名 应该就好了
追问
能否在程序中使用fopen之类的代码,进行自动的保存??
如果能的话,如何实现??
追答
可以的阿。
在函数开头:
FILE *fp = fopen(filepath, "a+");
if (fp == NULL)
{
//错误处理
}

函数中间将你的printf函数对应的替换成为fprintf函数就好了。fprintf的第一个参数是fp,后面就是你的printf函数的参数

在函数最后添加
if (fp != NULL)
{
fclose(fp);
fp = NULL;
}

每个需要替换printf的函数都对应的修改就好了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式