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 文档、代码、程序资源
相关推荐
认真学GIS8 分钟前
日尺度地下水水位!全国11897个地下水动态监测站点2005-2021年日尺度地下水水位(地下水埋深)(EXCEL格式)数据
服务器·前端·excel
_DoubleL9 分钟前
Volta启动项目自动切换Node版本
前端·node.js
Lyyaoo.11 分钟前
What is Maven?
java·spring boot·maven
阿里巴巴终端技术16 分钟前
[第 20 届 D2 倒计时] 7 大专场演讲、44 个精彩话题、D2 之夜畅聊 AI + 终端的发展前景
前端·人工智能·程序员
23.17 分钟前
【Java】NIO零拷贝:为何transferTo需要循环调用?
java·面试·nio
进击的雷神20 分钟前
前端路由动态渲染、JSON内嵌HTML清洗、展位信息数组化、分页参数固定化——尼日利亚展会爬虫四大技术难关攻克纪实
前端·爬虫·python·json
I_LPL21 分钟前
day48 代码随想录算法训练营 图论专题1
java·算法·深度优先·图论·广度优先·求职面试
架构师沉默22 分钟前
如果 Spring 没了,Java 会怎么样?
java·后端·架构
文心快码BaiduComate27 分钟前
Comate 4.0的自我进化:后端“0帧起手”写前端、自己修自己!
前端·后端·架构
cipher28 分钟前
Web3全栈学习与实战项目
前端·后端·区块链