你写这个程序,脑中有没有一个清晰的映像,数据是怎么储存的、如何访问读写数据、为什么要设计成这样的数据结构,这些都清晰吗?
授人以渔,不授人以鱼。
#include<stdio.h> #include<stdlib.h> #define SI 4 //最大书籍数量 typedef struct { char xing[20]; char ming[20]; }xing_ming; xing_ming jie_zuo_zhe; //声明书籍信息结构 包含姓名结构 typedef struct { char shu_ming[40]; xing_ming jie_zuo_zhe; float jia_ge; }book; //输入书籍信息函数 void han_shu_ru(book *p) { puts("请输新入书籍名!"); gets(p->shu_ming); puts("请输入作者的姓名!"); scanf("%s%s",p->jie_zuo_zhe.xing,p->jie_zuo_zhe.ming); puts("请输入书籍的价格!"); scanf("%f",&p->jia_ge); } //书籍信息写入文件 void han_xie_ru(book *p) { FILE *fp; if((fp=fopen("d:\shu_ji.txt","a+"))==NULL||fwrite(p,sizeof(book),1,fp)!=1) puts("文件写入失败!"); return 1; } //输出书籍信息 void han_shu_chu(book *p) {printf("书籍的名称:%10s 书籍的作者:%6s%6s 书籍的价格:%10g\n", p->shu_ming,p->jie_zuo_zhe.xing,p->jie_zuo_zhe.ming,p->jia_ge); } int main(void) { book bop; // p=(book *)malloc(sizeof(book)) ; han_shu_ru(&bop); han_shu_chu(&bop); han_xie_ru(&bop); return 0; }这样可以给我解答吗? 写入问件的还是乱码?