zl程序教程

您现在的位置是:首页 >  工具

当前栏目

基于QT(C++)+CSV文件存储开发(WinForm)图书管理系统【100010008】

2023-09-11 14:17:50 时间

简介

这是一个简单的拥有图形界面的图书管理系统。

特色

  • 前后端完全分离
  • 易于使用的交互界面

功能介绍

主要有图书管理和用户管理两项功能。

默认读取同一目录下的 user.csvbook.csv 作为用户和图书数据文件。也可在登录后导入其他数据文件。
在无数据文件的情况下,默认打开时是空白表格,记得先创建个管理员账户再保存哦!

登录界面

在这里插入图片描述

图书管理界面(管理员)

搜索结果(非管理员)

在这里插入图片描述

用户管理界面(管理员)

图书详情界面(管理员)

在这里插入图片描述

用户详情界面(管理员)

管理员重设密码

用户修改密码

在这里插入图片描述

后端实现

图书链表与用户链表

底层数据结构是自己写的链表。一个图书馆有两个链表,分别存储用户和图书信息。

每个用户节点与图书节点内部还有两个链表,其中一个链表用于存储 借阅的图书节点指针 或 借阅该书的用户节点指针。另一个链表临时存储对应的 图书编号 和 用户编号(读取文件时存储,会在预处理之后清空)。

csv 文件数据库

数据通过两个 csv 文件存储。

图书文件数据库

每一列的含义为:图书名称,图书编号,图书数量,借阅该书的用户编号
在这里插入图片描述

用户文件数据库

每一列的含义为:用户名,密码,编号,是否为管理员,借阅的图书编号

编译

使用 Qmake 生成 Makefile。
qmake LibraryManage.pro

然后执行 make 即可。详细步骤请自行搜索。

建议用 Qt Creator 导入项目进行编译。

已知的问题

中文编码问题

导出的 csv 中文在某些其他软件(如:Excel)中查看会乱码。推测应该是编码问题,使用文本编辑器打开一般会自动检测编码,所以无此问题。

其他平台的编译问题

检测系统列表分隔符用到了 windows.h(librarydata.h),分隔符字符变量名是 DIVIDE_CHAR,请根据系统默认列表分隔符酌情替换。如 MacOS 下分隔符为 ; 而不是 ,。分隔符是一种出现于csv文件中,将数据进行分隔的字符,可用文本编辑器打开 csv 文件查看。

♻️ 资源

在这里插入图片描述
大小: 29.6KB
➡️ 资源下载:https://download.csdn.net/download/s1t16/87247912