小型图书管理系统的一些功能实现,讨教!该如何解决

小型图书管理系统的一些功能实现,讨教!
小型图书管理系统中,如何实现图书的借入和归还功能,而且能保存记录!以方便以后查询!希望各位大侠不吝赐教,在下只是做课程设计是遇到的难题,望大家不吝赐教,多谢多谢!

------解决方案--------------------
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <string.h>

void page_title(char *menu_item)
{
printf( "***************************C语言 *******************************\n ");
printf( "---------图书馆管理系统 --------\n\n- %s -\n\n ",menu_item);
}

int booknumber=0; /*书的数目*/
struct BOOK
{long int id;
int store; /*store=1表示书未被借出,store=0表示书已经被借出*/
float price;
char name[30],author[20];
}books[1000];

void book_add(void)
{
booknumber+=1;
page_title( "增加新书 ");
id: printf( "序号: ");
scanf( "%d ",&books[booknumber].id);
if(books[booknumber].id==0)
{
printf( "Error!id can 't be 0! ");
booknumber-=1;
goto id;
}
printf( "书名: ");
scanf( "%s ",&books[booknumber].name);
printf( "作者: ");
scanf( "%s ",&books[booknumber].author);
printf( "价格: ");
scanf( "%f ",&books[booknumber].price);
books[booknumber].store=1;
}

int search_book(void)
{
int n,i;
page_title( "查询图书 ");
printf( "请输入图书的序号: ");
scanf( "%d ",&i);
if (i> 0&&i <1001)
{for(n=0;n <=1000;n++)
{
if(books[n].id==i)
{
printf( "书名:%s\n ",books[n].name);
printf( "作者:%s\n ",books[n].author);
printf( "价格:%.2f\n ",books[n].price);
printf( "%d\n ",books[n].store);
return n;
}
}printf( "\n无效图书序号.\n ");
}
else printf( "\n无效图书序号.\n ");
return 0; /*若查不到图书,则反回0值*/
}



void book_del(void)
{
int n,k;
page_title( "删除旧书 ");
if((k=search_book())!=0)
{ char a[20],b[30];
for(n=k;n <=booknumber;n++)
{
books[n].id=books[n+1].id;
strcpy(a,books[n].author);strcpy(books[n].author,books[n+1].author);
strcpy(books[n+1].author,a);
strcpy(b,books[n].name);strcpy(books[n].name,books[n+1].name);
strcpy(books[n+1].name,b);
books[n].price=books[n+1].price;
books[n].store=books[n+1].store;
}
booknumber-=1;
printf( "该图书信息已删除.\n ");
}
else printf( "该图书未找到!\n ");
}

int peoplenumber=0; /*人的数目*/
struct PEOPLE
{
char name[20],sex[5];
int number;
int id;
}people[100];

void book_register(void)
{
page_title( "借书人注册 ");
peoplenumber+=1;
printf( "请输入借书人姓名: ");
scanf( "%s ",&people[peoplenumber].name);
printf( "请输入借书人性别: ");
scanf( "%S ",&people[peoplenumber].sex);
people[peoplenumber].id=peoplenumber;
people[peoplenumber].number=peoplenumber;
printf( "注册成功!请记住您的编号:%3d\n ",peoplenumber);
}

void book_borrow(void)
{
int bianhao;
int n,i;
page_title( "借阅图书 ");
if((n=search_book())!=0&&books[n].store==1)
{
printf( "请输入借书人编号: ");
scanf( "%d ",&bianhao);
for(i=0;i <=100;i++)
{
if(i!=bianhao)
continue;
else if(people[i].id==bianhao)
{
if (people[i].number> 2)

printf( "该借书人同时借书已达两本,不能借阅\n ");