#include<stdio.h>
#include<string.h>
#include<conio.h>
#include<stdlib.h>
#define STACK_INIT_SIZE 10
#define OK 1
#define TRUE 1
#define FALSE 0
#define ERROR 0
struct student /*定义学生类型,用于存放借出的书籍*/
{
int carnum;
char lendbook[10];
}student[1000];
struct book /*定义书的类型*/
{
int booknum;
char bookname[10];
char bookcreat[10];
int turefalse; /*用于借书和还书模块判断一本书是否借出的条件*/
}book[1000];
struct car /*借书卡的数据类型*/
{
int carnum;
char studentname[10];
int studentclass;
}car[100];
void menu()
{
system ("cls");
printf("----------------------------------------------------------------------------\n");
printf("  ----------------------*欢      迎    使    用*------------------------  \n"); 
printf("      ---------------------*图书借阅管理系统*------------------------      \n");
printf("----------------------------------------------------------------------------\n");
printf("-            1.查询图书                      2.借阅图书                  -\n");
printf("-            3.图书管理系统            ^_^    4.归还图书                  -\n");
printf("-            0.退出                                                        -\n");
printf("----------------------------------------------------------------------------\n");
printf("----------------------------------------------------------------------------\n");
printf("--------------------------请你做出选择(0-4):--------------------------------\n");
}
void menu1()
{
system ("cls");
printf("---------------欢迎进入图书管理系统!--------------\n");
printf(" 1:<增加图书>\n");
printf(" 2:<删除图书>\n");
printf(" 3:<修改图书资料>\n");
printf(" 4:<书籍统计>\n");
printf(" 5:<学生管理系统>\n");
printf(" 0:<返回>\n");
printf("请输入0-5,其他输入非法!\n");
}
void menu2()
{
system ("cls");
printf("---------------欢迎进入学生管理系统!--------------\n");
printf(" 1:<申请新卡>\n");
printf(" 2:<删除卡号>\n");
printf(" 3:<借书统计>\n");
printf(" 4:<卡号统计>\n");
printf(" 0:<返回>\n");
printf("请输入0-4,其他输入非法!\n");
}
int huanbook() /*还书函数*/
{
FILE *fp,*fp2; /*定义两个文件指针,fp2用于修改数据时设立临时文件用,防止数据遭破坏*/
int i,n;
int carnum;
char lendbook[10];
printf("请你输入你的卡号\n");
scanf("%d",&carnum);
fp=fopen("","r"); /*读取卡号记录*/
for(i=0;fread(&car[i],sizeof(struct car),1,fp)!=0;i++) /*for循环判断卡号是否存在*/
{
  if(car[i].carnum==carnum) /*卡号存在,进入下一循环*/
  {
    n=i;
    fclose(fp);
    printf("请输入你要还的书的名字\n");
    scanf("%s",lendbook);
    fp=fopen("","r");
    for(i=0;fread(&student[i],sizeof(struct student),1,fp)!=0;i++) /*判断是否借阅了输入的书*/
    {
    if(strcmp(student[i].lendbook,lendbook)==0) /*借阅了该书,进入下一循环,否则出错显示*/
printf函数是什么意思    {
      fclose(fp);
      fp=fopen("","r");
      fp2=fopen("","w");
      for(i=0;fread(&student[i],sizeof(struct student),1,fp)!=0;i++)
      {
      if(strcmp(student[i].lendbook,lendbook)==0)
      {
        continue; /*删除还掉的书的借书记录*/
      }
      fwrite(&student[i],sizeof(struct student),1,fp2); /*写入原来没还的书的记录*/
      }
      fclose(fp);
      fclose(fp2);
      fp=fopen("","w");
      fp2=fopen("","r");
      for(i=0;fread(&student[i],sizeof(struct student),1,fp2)!=0;i++)
      {
        fwrite(&student[i],sizeof(struct student),1,fp); /*将借书记录信息写回*/
      }
      fclose(fp);
      fclose(fp2);
      fopen("","w"); /*清临时文件的记录*/
      fclose(fp2);
      fp=fopen("","r");
      fp2=fopen("","w");
      for(i=0;fread(&book[i],sizeof(struct book),1,fp)!=0;i++) /*将书的记录写入临时文件,防止因为修改信息破坏以前的记录*/
      {
      if(i==n)
      {
        book[i].turefalse=1;
        fwrite(&book[i],sizeof(struct book),1,fp2); /*将还的书的原来状态设为无人借阅的*/
        continue;
      }
      fwrite(&book[i],sizeof(struct book),1,fp2);
      }
      fclose(fp);
      fclose(fp2);
      fp=fopen("","w");
      fp2=fopen("","r");
      for(i=0;fread(&book[i],sizeof(struct book),1,fp2)!=0;i++)
      {
      fwrite(&book[i],sizeof(struct book),1,fp); /*将临时文件写回*/
      }
      fclose(fp);
      fclose(fp2);
      fopen("","w"); /*清临时文件*/
      fclose(fp2);
      printf("还书完毕,按任意键返回\n");
      getchar();
      return 1;
    }
    }
    printf("你没有借这样的书,任意键返回\n"); /*出错提示*/
    fclose(fp);
    getchar();
    return 0;
  }
}
printf("系统没这样的卡,和管理员联系,按任意键返回\n"); /*出错提示*/
fclose(fp);
getchar();
}
int findbook()/*借书函数*/
{