一、 系统概述
图书管理系统是一个用C语言编写的软件系统,旨在帮助图书馆或图书机构管理其图书馆藏书和读者信息。该系统提供了一套完整的功能,包括图书录入、借阅管理、归还管理、读者管理、图书查询、统计报表等。
二、 系统功能
2.1 图书录入
管理员可以通过系统界面录入新书的信息,包括书名、作者、出版社、ISBN号、分类等。系统将自动生成图书的唯一编号。
可以输入图书的入库数量和单价等相关信息。
2.2 借阅管理
用户可以通过系统界面借阅图书。用户需要提供借书人信息和借书日期,系统将自动生成借书记录,并更新库存信息。
系统会检查图书是否可借,如库存是否足够。
系统会记录借阅过程中的相关信息,如借阅人、借阅时间、借阅期限等。
2.3 归还管理
用户可以通过系统界面归还已借阅的图书。用户需要提供图书编号和归还日期。
系统会更新图书的库存信息,并计算逾期天数和罚款金额(如有)。
系统会记录归还过程中的相关信息,如归还日期、逾期天数、罚款金额等。
2.4 读者管理
管理员可以通过系统界面管理读者信息,包括添加新读者、修改读者信息、删除读者等。
可以记录读者的基本信息,如姓名、性别、年龄、联系方式等。
2.5 图书查询
用户可以通过系统界面进行图书查询,根据书名、作者、分类等关键字进行搜索。
系统会返回匹配的图书列表,并显示图书的详细信息。
2.6 统计报表
系统提供统计报表功能,生成各类报表,如图书借阅统计、图书归还统计、读者借阅情况等。
报表可以按照日期、图书分类等条件进行筛选和排序。
运行环境
- 运行环境:Visual C++ 6.0
- 编码格式为GBK,如果打开中文为乱码请转换成UTF-8
代码片段演示:
C++
//图书管理系统结构体
//时间
typedef struct timeInfo{
int year;
int mouth;
int day;
int hour;
int min;
int sec;
}TIME;
//读者信息
typedef struct readerInfo{
char name[30];//姓名
char no[20];//学号
char password[16];//密码
int maxnum;//最大借阅额度
struct readerInfo * next;
}READ;
//图书信息
typedef struct book{
char no[20];//图书编号
char bookName[50];//图书名
char author[20];//作者名
char type[10];//图书类型
char unit[30];//出版单位
float price;//图书单价
int num;//库存数量
struct book * next;
}BOOK;
//图书借阅信息
typedef struct bookLend{
char no[20];//借书学生学号
char bookno[20];//图书编号
TIME * remand;//借/还日期
char condition[10];//借阅状态
struct bookLend * next;
}LEND;
//管理员登录信息结构体
typedef struct loginInfo{
int times;//次数
char username[20];//用户名
char password[16];//密码
TIME * logintime;//登录时间
struct loginInfo * next;
}LOGIN;
//图书管理界面
void book_windows()
{
BOOK * head = getNode();
int n;
book_read(head);
system("cls");
printf("\n");
printf("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━");
printf("***********************[图书信息管理]***********************");
printf("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n\n\n");
printf(" \n");
printf(" [1.图书信息添加] \n");
printf(" \n");
printf(" [2.图书信息查询] \n");
printf(" \n");
printf(" [3.图书信息修改] \n");
printf(" \n");
printf(" [4.图书信息删除] \n");
printf(" \n");
printf(" [5.返回上级菜单] \n");
printf(" \n");
printf("\n━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\n\n");
printf("\n\t[请选择]\t·");
scanf("%d", &n);
switch (n)
{
case 1: bookLoad_system(head); break;
case 2: book_inquire(head); break;
case 3: book_change(head); break;
case 4: book_delete(head); break;
case 5:administrator_windows(); break;
default:printf("\t\t输入有误!\n");
Sleep(1000);
book_windows();
break;
}
}
程序部分示例:
三、联系与交流
q:969060742 文档、代码、程序资源