C语言,编程序将结构体类型数组中的内容保存至文本文件中,并输出到屏幕。结构体类型包括图书名称,图书作者,图书价格和库存,文件名为books.txt,保存位置为e盘,保存数据到文件用fprintf函数。
时间: 2024-03-08 18:46:45 浏览: 83
c语言图书管理系统(包含完整代码和本地数据)
好的,以下是符合您要求的C语言程序代码:
```c
#include <stdio.h>
#define MAX_BOOKS 100
typedef struct {
char name[50];
char author[50];
float price;
int stock;
} Book;
int main() {
Book books[MAX_BOOKS];
int num_books, i;
// 读入图书信息
printf("请输入图书数量:");
scanf("%d", &num_books);
printf("请依次输入每本书的信息(名称 作者 价格 库存):\n");
for (i = 0; i < num_books; i++) {
scanf("%s %s %f %d", books[i].name, books[i].author, &books[i].price, &books[i].stock);
}
// 将图书信息写入文件
FILE *fp = fopen("e:/books.txt", "w");
if (fp == NULL) {
printf("文件打开失败\n");
return 1;
}
for (i = 0; i < num_books; i++) {
fprintf(fp, "%s %s %.2f %d\n", books[i].name, books[i].author, books[i].price, books[i].stock);
}
fclose(fp);
// 输出到屏幕
fp = fopen("e:/books.txt", "r");
if (fp == NULL) {
printf("文件打开失败\n");
return 1;
}
printf("图书信息已保存到文件中:\n");
for (i = 0; i < num_books; i++) {
fscanf(fp, "%s %s %f %d", books[i].name, books[i].author, &books[i].price, &books[i].stock);
printf("%s %s %.2f %d\n", books[i].name, books[i].author, books[i].price, books[i].stock);
}
fclose(fp);
return 0;
}
```
这个程序会先读入图书信息,然后将这些信息写入到文件"e:/books.txt"中,最后再从文件中读取出来并输出到屏幕上。注意,这里使用了`fprintf`函数将数据写入文件,使用了`fscanf`函数从文件中读取数据。
阅读全文