编写程序,使用输入和输出流完成以下操作:输入4本图书的信息,包括书 名和价格,将输入的数据保存到文件library.bok中:读取library.bok 文 件的数据,输出所有图书的书名及价格。
时间: 2023-04-04 19:04:23 浏览: 118
您好,我可以回答这个问题。以下是程序的代码:
#include <stdio.h>
#include <stdlib.h>
struct book {
char name[50];
float price;
};
int main() {
struct book b[4];
FILE *fp;
int i;
// 输入4本图书的信息
printf("请输入4本图书的信息:\n");
for (i = 0; i < 4; i++) {
printf("请输入第%d本书的书名:", i+1);
scanf("%s", b[i].name);
printf("请输入第%d本书的价格:", i+1);
scanf("%f", &b[i].price);
}
// 将输入的数据保存到文件library.bok中
fp = fopen("library.bok", "wb");
if (fp == NULL) {
printf("无法打开文件!\n");
exit(1);
}
fwrite(b, sizeof(struct book), 4, fp);
fclose(fp);
// 读取library.bok文件的数据,输出所有图书的书名及价格
fp = fopen("library.bok", "rb");
if (fp == NULL) {
printf("无法打开文件!\n");
exit(1);
}
printf("\n读取文件library.bok中的数据:\n");
fread(b, sizeof(struct book), 4, fp);
for (i = 0; i < 4; i++) {
printf("书名:%s\t价格:%.2f\n", b[i].name, b[i].price);
}
fclose(fp);
return 0;
}