C语言图书管理系统

一、 系统概述

图书管理系统是一个用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 文档、代码、程序资源
相关推荐
weixin_39544891几秒前
mult_yolov5_post_copy.c_cursor_0205
c语言·python·yolo
梦帮科技17 分钟前
Node.js配置生成器CLI工具开发实战
前端·人工智能·windows·前端框架·node.js·json
程序员泠零澪回家种桔子19 分钟前
Spring AI框架全方位详解
java·人工智能·后端·spring·ai·架构
Z9fish26 分钟前
sse哈工大C语言编程练习20
c语言·开发语言·算法
CodeCaptain27 分钟前
nacos-2.3.2-OEM与nacos3.1.x的差异分析
java·经验分享·nacos·springcloud
晓131332 分钟前
第六章 【C语言篇:结构体&位运算】 结构体、位运算全面解析
c语言·算法
梵刹古音40 分钟前
【C语言】 指针与数据结构操作
c语言·数据结构·算法
VT.馒头1 小时前
【力扣】2695. 包装数组
前端·javascript·算法·leetcode·职场和发展·typescript
css趣多多1 小时前
一个UI内置组件el-scrollbar
前端·javascript·vue.js
C澒1 小时前
前端整洁架构(Clean Architecture)实战解析:从理论到 Todo 项目落地
前端·架构·系统架构·前端框架