大佬求助C语言图书馆管理系统

如果没有保存,那么,每一次重新打开程序后,你的数据都是空的。

如果没有读取已保存的数据,那么,每一次重新打开程序后,你的数据还都是空的。

通过分析,需要保存的数据有:

 

3、图书书库,用Book类型的数组bk保存,每个数组单元代表一种图书,退出系统时应该把数组中的数据保存在文件data.txt中,启动程序时数组从文件中读取数据。数组设置为全局数组:

   BOOK bk[MANUM];

4、图书种类数量(数组实际使用的单元数),为全局变量,退出系统时应该保存在文件中:

int bookNum =0;  /*不同图书的数量,初始值为0*/

 

也就是说,若图书的数据共有bookNum种。那么data.txt文件中需要先保存一个整数bookNum,然后再保存bookNum个Book类型的数据(来自数组bk。)

读取的时候,也是先读取整数到bookNum,然后在文件中连续读取bookNum个单元(Book类型)到数组bk。

 

读取的部分代码大致如下:(保存的代码可以参考该方式,使用fwrite函数)

ReadData(){

        FILE *fp;

        if((fp=fopen(".\\data.txt","rb"))==NULL)

               {printf("Can not open the file!\n");return;} 

         fread(&bookNum,sizeof(int),1,fp);

        fread(bk,sizeof(Book),bookNum,fp); 

        fclose(fp);

}这是我的部分代码

#include<stdio.h>

#include<stdlib.h>

#include<conio.h>

#include<string.h>

#include<io.h>

#define MAXNUM 2000

typedef struct{

char isbn[10];//书序号 

char  bkName[30];//书名

char author[20];//作者

float price;//单价

int num;//数量

} Book;

int bookNum=3;

Book bk[MAXNUM]={"001","C Primer Plus","Stephen Prata",89.00,10,

"002","python","John zelle",78.00,20,

"003","The Dream of Red Mansion","CaoXueQin",38.00,30};

void input(){

system("cls");

有哪位大佬可以按上面的方法给我写一下吗?谢谢!

就是图书入库的分函数,我就差这一个了