所以我有一个分配,可以计算矩形的面积和周长。我的教授希望我使用2组示例数据,然后使用I/O将结果打印到单个TXT文件。我可以获得1组数据来打印TXT文件,但不能同时打印。我该如何使用此终端命令执行此操作?:
./lab0> input.txt> output3.txt
这是我的完整代码:
#include <stdio.h>
int main() {
float length, width, area, perimeter;
printf("nEnter the Length of Rectangle : ");
scanf("%f", &length);
printf("nEnter the Width of Rectangle : ");
scanf("%f", &width);
area = length * width;
perimeter = 2 * (length + width);
printf("nArea of Rectangle : %f", area);
printf("nPerimeter of rectangle : %f ", perimeter);
return (0);
}
这是他的指示:
提示用户的矩形两侧(长度和宽度(。使用" C"中的" float"类型的变量计算矩形的面积作为长度和宽度的乘积。打印矩形及其周长区域。矩形的周长是长度的两倍,加宽度的两倍。您可以假设用户使用相同的单元同时进入长度和宽度。要获得全部信贷,您的程序必须为用户输入提供适当的提示,并为输出(区域和周边(提供适当的标签。
使用5.32733英寸的长度测试您的程序,宽度为6.8875899英寸。还要用10.0米长度和5.347863米的宽度测试您的程序。
i/o指令
"限制:管理不会接受"屏幕截图"。理想情况下,您的程序应读取文本文件中的所有数据并将结果打印到文本文件。Microsoft期望所有行终止以序列终止。Unix不会使用本惯例终止文本文件中的行。UNIX并使用诸如大学工作站上的" TextPad"之类的软件在Microsoft系统上正确阅读/打印。TextPad是一个软件的示例,旨在确定文件的来源并根据所使用的TH操作系统来解释结果。您可以使用i/o在物理打开和关闭文件的命令提示下重定向。作为示例,假设通常从键盘和作家读取到屏幕的可执行PGM1。" PGM1&lt; pgm1.dat"将从文本文件中获取输入"pgm1.dat"并写入屏幕。" PGM1> pgm1.out"将从键盘读取并将结果打印在文本文件" PGM1.OUT"中。" pgm1 pgm1.out"将从文本文件pgm1.dat中读取并打印在文本文件" pgm1.out。"中。"
预先感谢
您通常会从命令提示符下运行类似的内容:
./Lab0 < input1.txt > output3.txt
./Lab0 < input2.txt >> output3.txt
然后,您将拥有一个完整的output3.txt,并且两个程序运行的结果。
另一个想法是让程序本身打开输出文件以进行附加文件。
#include <stdio.h>
int main(int argc, char *argv[]) {
float length, width, area, perimeter;
FILE *fp = stdout;
if (argc>1) {
char *append_fn = argv[1];
fp = fopen(append_fn, "a+");
}
printf("nEnter the Length of Rectangle : ");
scanf("%f", &length);
printf("nEnter the Width of Rectangle : ");
scanf("%f", &width);
area = length * width;
perimeter = 2 * (length + width);
fprintf(fp, "nArea of Rectangle : %f", area);
fprintf(fp, "nPerimeter of rectangle : %f ", perimeter);
fclose(fp);
return 0;
}
您将运行上述程序如下:
./prog out1.txt
./prog out1.txt
每次输入端子的值。输出文件将两个程序运行。