c简单的图书管理系统

这是一个使用C语言编写的简单图书管理系统,包括用户登录、图书信息管理、查找图书、借阅和归还图书等功能。系统使用结构体存储图书和用户信息,并通过文件进行数据持久化。用户可以进行增加、删除、修改图书信息,以及查看图书数量统计。
摘要由CSDN通过智能技术生成

#include <stdio.h>
#include <windows.h>
#include <time.h>
#include <string.h>
#include <stdlib.h>
#include <ctype.h>
char ch;
char name[20];//用户名
char password[20];//密码

//................................................函数
void login();
void menu();
void bookSystemManage();
void addBook();
void deleteBook();
void changeBook();
void regUser();
void lookBook();
void returnMenu();
void deleteBook();
void changeBookInfo();
void bookSum();
void lendBook();
void returnBook();
void readWrite();
void sortBook();
void findBook();

struct record           /*定义record结构,储存学生所借出的书籍信息*/
{
 char userName[20];
 char lendBook[20];
}record[100];

struct book             /*图书结构*/
{
 int bookID;
 int trueFalse;
 char bookName[20];
 char bookAuthor[20];
}book[100];

struct users                 /*用户*/
{
 char userName[20];
 char userPassword[20];
}users[100];

void reMenu()                        /*返回菜单*/
{
 int reMenu;
 printf("/n返回请输入1,退出请输入其他:");
 scanf("%d",&reMenu);
 if(reMenu==1)
  menu();
 else
  exit(0);
}

void findBook()            /*…………查找图书…………*/
{
 FILE *fp;
 char bookName[10];
 int i;
 fp=fopen("book.txt","r");
 printf("/n请输入你要查找的书名:");
 scanf("%s",bookName);
 for(i=0;fread(&book[i],sizeof(struct book),1,fp)!=0;i++)
 {
  if(strcmp(bookName,book[i].bookName)==0)
 {
 if(book[i].trueFalse==1)
 {
  printf("/n这本书的详细资料是:/n bookID [%d]/tbookName [%s]/tbookAuthor [%s]/n 此书现在无人借阅/n",book[i].bookID,book[i].bookName,book[i].bookAuthor);
 }
 else
 {
  printf("/n这本书已有人借出/n");
  fclose(fp);
  reMenu();
 }
 fclose(fp);
 reMenu();
 }
 }
 printf("/n没有你要查询的书籍/n");
 fclose(fp);
 reMenu();
}

void returnBook()                            /*——还书——*/
{
 FILE *fp,*fp2;
 int i;
 char bookName[20];
 printf("/n/n请输入您要还地书的名称:");
 scanf("%s",&bookName);
 fp=fopen("record.txt","r");
 do{
  i=0;
  if(strcmp(record[i].lendBook,bookName)!=0)
  {
   fp2=fopen("temp.txt","w");
   fwrite(&record[i],sizeof(struct record),1,fp2);
  }
  i++;
 }while(fread(&record[i],sizeof(struct record),1,fp)!=0);
 fclose(fp);
 fclose(fp2);
 fp=fopen("record.txt","w");
 fp2=fopen("temp.txt","r");
 for(i=0;fread(&record[i],sizeof(struct record),1,fp2)!=0;i++)
 {
  fwrite(&record[i],sizeof(struct record),1,fp);
 }
 fclose(fp);
 fclose(fp2);
 fp2=fopen("temp.txt","w");
 fclose(fp2);
 fp=fopen("book.txt","r");
 fp2=fopen("temp.txt","w");
 for(i=0;fread(&book[i],sizeof(struct book),1,fp)!=0;i++)
 {
  if(strcmp(book[i].bookName,bookName)==0)
  {
   book[i].trueFalse=1;
   fwrite(&book[i],sizeof(struct book),1,fp2);
   continue;
  }
  fwrite(&book[i],sizeof(struct book),1,fp2);
 }
 fclose(fp);
 fclose(fp2);
 readWrite();
 printf("/n已完成,返回图书管理菜单/n");
 reMenu();
}

void lendBook()                                        /*——借阅图书——*/
{
 FILE *fp,*fp2;
 int i,n=0;
 int booleanLen

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值