数据结构课程设计——图书管理系统 35
{ FILE *fp_book; /*创建文件型指针*/ BK *p,*p0; p=h_book;
if((fp_book=fopen(\ /*创建文件,进行保存*/ { printf(\文件保存失败!\\n请重新启动本系统...\\n\ exit(0);
}
while(p!=NULL) {
if(fwrite(p,sizeof(BK),1,fp_book)!=1) 中*/ printf(\写入文件失败!\\n请重新启动本系统!\\n\ p0=p; p=p->next; free(p0);
}
h_book=NULL;
fclose(fp_book); /*关闭文件*/
}
void Load() /*加载信息*/ { Load_Reader(); Load_Book();
}
void Load_Reader() /*加载读者信息*/ {
RD *p1,*p2,*p3;
FILE *fp; /*创建文件型指针*/ fp=fopen(\ /*打开文件*/
/*将链表中的信息写入文件
数据结构课程设计——图书管理系统 36
p1=(RD *)malloc(sizeof(RD)); fread(p1,sizeof(RD),1,fp); h_reader=p3=p2=p1;
while(! feof(fp)) /*读出信息,重新链入链表*/ {
p1=(RD *)malloc(sizeof(RD)); fread(p1,sizeof(RD),1,fp); p2->next=p1; p3=p2; p2=p1;
}
p3->next=NULL; free(p1);
fclose(fp); /*关闭文件*/ }
void Load_Book() /*加载图书信息*/ {
BK *p1,*p2,*p3;
FILE *fp; /*创建文件型指针*/ fp=fopen(\ /*打开文件*/ p1=(BK *)malloc(sizeof(BK)); fread(p1,sizeof(BK),1,fp); h_book=p3=p2=p1;
while(! feof(fp)) /*读出信息,重新链入链表*/ { }
p1=(BK *)malloc(sizeof(BK)); fread(p1,sizeof(BK),1,fp); p2->next=p1; p3=p2; p2=p1;
数据结构课程设计——图书管理系统 37
}
p3->next=NULL; free(p1);
fclose(fp); /*关闭文件*/
int main() {
FILE *fp_book,*fp_reader; /*创建文件型指针*/ Login();
if((fp_book=fopen(\
Init();
else
Load();
Menu_select(); /*调用主菜单*/ }