图书馆管理系统(初级)

这是一个用C语言编写的简单的图书馆管理系统,包括图书管理、借阅管理、读者管理和馆员管理四大模块。系统实现了添加、删除、修改图书,查找图书,借阅、归还图书,申请、删除和修改读者卡等功能。所有操作数据存储在文本文件中,并提供文件读写功能。
摘要由CSDN通过智能技术生成

#include<stdio.h>
#include <stdlib.h>
#include<conio.h>
#include<string.h>

int count;
struct reader           /*读者类型*/
{
    int cardnum;
    char readername[10];
}readers[1000];

struct librarian           /*图书管理员类型*/
{
    int librnnum;          //书本号
    char librnname[15];
    int librnage;
    char librnsex[2];
 int librnleve;
    //char librnleve[10];
    //long int librntage;
}librarians [50];

struct book              /*书的类型*/
{
    int booknum;
    char bookname[10];
    char bookcreat[10];
    int lendtrue;  /*借书和还书判断,1为在馆,0为不在*/   
}books[5000];

struct card              /*借书卡*/
{
    int cardnum;
    char readername[10];
    int classs;
    int booknum;
    int lenddate;
}cards[5000];

void addbook();
void delbook();
void modbook();
void countbook();
void lendbook();
void findbook();
//void mnglend();
void returnbook();
void countlend();
void addcard();
void delcard();
void modcard();
void addpeople();
void delpeople();
void modpeople();
void freadbook();
void freadcard();
void freadlibrarian();
void freadreader();
void fwritebook();
void fwritecard();
void fwritelibrarian();
void fwritereader();

void freads()
{
 freadbook();
 freadcard();
 freadlibrarian();
 freadreader();
}

void fwrites()
{
 fwritebook();
 fwritecard();
 fwritelibrarian();
 fwritereader();
}
void mngbook()   //图书管理
{
 int k;
 //char t;
 system("cls");
 printf("----------------------------------------/n");
 printf("|               1.增加图书             |/n");
 printf("|               2.删除图书             |/n");
 printf("|               3.修改图书             |/n");
 printf("|               4.统计图书             |/n");
 printf("----------------------------------------/n");
 scanf("%d",&k);
 printf("您输入的是: %d/n",k);
 /*while(d)
 {*/
 switch(k)
 {
 case 1: addbook();
  break;
 case 2: delbook();
  break;
 case 3: modbook();
  break;
 case 4: countbook();
  break;
 }
 /*printf("返回上一菜单?Y/N/n");
 t=getch();
 if(t=='y'||t=='Y')
  d=0;
 else
  d=1;
 }*/
}

void mnglend()      //借阅管理
{
 int k;
 system("cls");
 printf("----------------------------------------/n");
 printf("|               1.查找图书             |/n");
 printf("|               2.借阅图书             |/n");
 printf("|               3.归还图书             |/n");
 printf("|               4.借阅统计             |/n");
 printf("----------------------------------------/n");
 scanf("%d",&k);
 switch(k)
 {
 case 1: findbook();
  break;
 case 2: lendbook();
  break;
 case 3: returnbook();
  break;
 case 4: countlend();
  break;
 }
}

void mngleader()    //读者管理
{
 int k;
 system("cls");
 printf("----------------------------------------/n");
 printf("|               1.申请读者卡            |/n");
 printf("|               2.删除读者卡            |/n");
 printf("|               3.修改读者卡            |/n");
 printf("----------------------------------------/n");
 scanf("%d",&k);
 switch(k)
 {
 case 1: addcard();
  break;
 case 2: delcard();
  break;
 case 3: modcard();
  break;
 }
}

void mnglibrarian()   //馆员管理
{
 int k;
 system("cls");
 printf("----------------------------------------/n");
 printf("|               1.添加馆员            |/n");
 printf("|               2.删除馆员            |/n");
 printf("|               3.修改馆员            |/n");
 printf("----------------------------------------/n");
 scanf("%d",&k);
 switch(k)
 {
 case 1: addpeople();
  break;
 case 2: delpeople();
  break;
 case 3: modpeople();
  break;
 }
}

void addbook()   //count表示书本数量,增加图书
{
 int d,id,count=0; 
// char t;
 /*while(d)
 {*/
 system("cls");
 for(d=0;d<5000;d++)
 {
  if(books[d].booknum!=0)
  count=count+1;//printf("%d/n",count);
 }
 if(count>5000)
  printf("图书馆已满,不能增加书本/n");
 else
 {
  printf("请输入书本号(整型): /n");
     scanf("%d",&id);
  if(id<=count)
  { 
  printf("该书已存在/n");//printf("   %d",books[count].booknum);
  }
  else
  { 
     printf("请输入书本名(字符类型): /n");
     scanf("%s",books[count].bookname);
    //printf("  %s",books[count].bookname);
     printf("输入作者(字符类型): /n");
     scanf("%s",books[count].bookcreat);  //printf("   %s",books[count].bookcreat);
     books[count].lendtrue=1;books[count].booknum=count+1;
  //count++;
  printf("添加成功/n");
  }
 }
 /*printf("返回上一菜单?Y/N/n");
 t=getch();
 if(t=='y'||t=='Y')
  d=0;
 else
  d=1;
 }*/
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值