#include<stdio.h> #include<stdlib.h> int main(void) { struct book { char bkname[30]; char author[15]; float price; int stock; }b[3]={{"C_programming","Tony",38.5,6},{"English","Amy",43.5,4},{"Computer_game","Wiya",47,5}}; int i;补全程序并且输出至屏幕(C语言,保存位置为E盘文件名books.txt)
时间: 2023-07-19 11:10:29 浏览: 156
你可以使用以下代码来完成程序并将输出保存到指定文件中:
```c
#include <stdio.h>
#include <stdlib.h>
int main(void) {
// 定义结构体
struct book {
char bkname[30];
char author[15];
float price;
int stock;
} b[3] = {
{"C_programming", "Tony", 38.5, 6},
{"English", "Amy", 43.5, 4},
{"Computer_game", "Wiya", 47, 5}
};
int i;
// 打开文件
FILE* fp = fopen("E:\\books.txt", "w");
// 判断文件是否打开成功
if (fp == NULL) {
printf("Failed to open the file.");
return 1;
}
// 输出到屏幕和文件
printf("Book\t\tAuthor\t\tPrice\tStock\n");
fprintf(fp, "Book\t\tAuthor\t\tPrice\tStock\n");
for (i = 0; i < 3; i++) {
printf("%s\t%s\t%.2f\t%d\n", b[i].bkname, b[i].author, b[i].price, b[i].stock);
fprintf(fp, "%s\t%s\t%.2f\t%d\n", b[i].bkname, b[i].author, b[i].price, b[i].stock);
}
// 关闭文件
fclose(fp);
return 0;
}
```
这段代码会将输出同时输出到屏幕和文件中,文件名为E盘下的books.txt。如果文件打开失败则会输出错误信息并退出程序。
阅读全文