基于QT(C++)+CSV文件存储开发(WinForm)图书管理系统【100010008】
2023-09-11 14:17:50 时间
简介
这是一个简单的拥有图形界面的图书管理系统。
特色
- 前后端完全分离
- 易于使用的交互界面
功能介绍
主要有图书管理和用户管理两项功能。
默认读取同一目录下的 user.csv
和 book.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
相关文章
- QT-Qt图片按钮类
- 【C/C++学院】0817-递归汉诺塔 双层递归 /CPP结构体 /面向过程与面向对象的编程模式/类的常识共用体实现一个类的特征/QT应用于类以及类的常识
- 【C/C++学院】(19)QT版:记事本
- s3c2410上搭建QT/Embedded4.8.5开发环境(四)--安装intel-x86 X11平台qt库qt-everywhere-opensource-src-4.8.5
- QT中实现程序只运行一个实例--应用程序的单例化
- Qt编写的项目作品13-机房安全作业预警系统
- Qt开发经验小技巧196-200
- Qt中的事件处理
- Qt-跨平台的C++图形用户界面应用程序框架(一)
- Qt实现抽奖程序
- C++ QT中的智能指针解释与使用
- 9、QT基础——Qt消息机制和事件
- Qt QSS QComboBox
- 解决Ubuntu系统安装QT出错的问题:qt.qpa.plugin: Could not load the Qt platform plugin “xcb“ in ““ even though it
- Qt:使用QCalendarWidget做一个日历
- Qt 搭建VLC环境
- QT修改工程名的步骤
- Qt delete和deletelater的区别
- atitit.软件开发GUI 布局管理优缺点总结java swing wpf web html c++ qt php asp.net winform
- atitit.软件开发GUI 布局管理优缺点总结java swing wpf web html c++ qt php asp.net winform
- Qt学习一门:直接使用QT具