基于QT的智能饮料机终端库存监控系统(qt5.9.2 mingw53_32 + win10 + SeetaFaceEngine + opencv3.3)

简介

学校组织实训,制作项目用的是qt,当然还是做一个管理系统。

项目要求

老师的要求

项目书里面的要求
在这里插入图片描述

我的实现

功能:见下面详解
主要界面:
客户端
服务端

实现细节

数据库端

一共四个表:
用户信息表
在这里插入图片描述
饮料信息表和设备表
在这里插入图片描述
日志表
在这里插入图片描述
在这里插入图片描述
数据库使用的是QSQLITE。

用户端

在这里插入图片描述
在这里插入图片描述

服务端

功能一样的模块就不再解析了
在这里插入图片描述
在这里插入图片描述

程序使用流程

这个机器是纯语音提示的,因为没办法传视频就只能用文字来显示了。
大家可以把代码下载下来实际运行听听声音。

开启服务器,服务器自动监听8888端口,连接数据库

开场动画
在这里插入图片描述
语音提示:欢迎使用饮料自助系统
在这里插入图片描述
语音提示:开始监听 数据库已连接

开启客户端,自动连接服务器

开场动画
在这里插入图片描述
语音提示:欢迎使用饮料自助系统
缓冲界面
在这里插入图片描述
语音提示:尝试连接服务器 成功和服务器建立好连接
在这里插入图片描述
语音提示:有一个新的连接
在这里插入图片描述
语音提示:服务器已经连接,请登陆系统开始购物

注册

在这里插入图片描述
语音提示:请注册账号进行充值再购买
在这里插入图片描述
语音提示:注册成功
在这里插入图片描述
可以看到数据库里面加了一条用户记录,这里密码是加密的,后面代码讲解的时候会细说。

用户登陆

密码登陆

在这里插入图片描述
在这里插入图片描述
语音提示:登陆成功
在这里插入图片描述

人脸识别登陆

在这里插入图片描述
因为长得丑,就打码了。
在这里插入图片描述
语音提示:开始检测
在这里插入图片描述
语音提示:登陆成功
在这里插入图片描述

购买

选择饮料温度和贩卖机设备,对比自己的金钱进行购买。
在这里插入图片描述
语音提示:购买成功
在这里插入图片描述
不同的设备饮料可能不同偶
在这里插入图片描述
语音提示:切换成功
在这里插入图片描述
语音提示:刷新成功
在这里插入图片描述

充值

在这里插入图片描述
语音提示:充值使我强大
在这里插入图片描述
语音提示:充值成功
在这里插入图片描述
对应的金钱增加

关闭贩卖机

在这里插入图片描述
在这里插入图片描述
语音提醒:更新成功
在这里插入图片描述
语音提醒:该设备没有开启
注:这里有点bug,就是客户端需要重启才能达到这个效果,因为这里客户端没有刷新设备缓存。
在这里插入图片描述
在这里插入图片描述
这里我没有改因为我比较懒。。。
还有一个最大的原因最后会说明。

服务器开始自动检测补货

首先用管理员账号登陆
在这里插入图片描述
语音提示:开始自动检测饮料贩卖情况
在客户端购买饮料,让饮料数量变少,小于等于2
在这里插入图片描述
语音提示:购买成功
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
语音提示:进入管理员模式
在这里插入图片描述
语音提示:添加成功
在这里插入图片描述
饮料数量增加
在这里插入图片描述

服务器更改饮料信息

在这里插入图片描述
在这里插入图片描述

服务器更改设备信息

在这里插入图片描述
在这里插入图片描述

服务器查看日志信息

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

注销

在这里插入图片描述
在这里插入图片描述
语音提示:注销成功

换肤

在这里插入图片描述
在这里插入图片描述
效果
在这里插入图片描述

异常使用

登陆异常

用户名或密码登陆异常

在这里插入图片描述
语音提示:登陆失败

用户已经在线

在这里插入图片描述
语音提示:该用户正处于登陆状态,无法提示登陆多次

扫脸登陆失败

感觉暴露别人照片不好,就找了张胡歌的图片
在这里插入图片描述
语音提示:登陆失败

服务器连接异常

一开始先打开客户端 再打开服务器,就不会自动登陆。
在这里插入图片描述
在这里插入图片描述
语音提示:有一个新的连接
在这里插入图片描述

购买异常

购买饮料数量为0

在这里插入图片描述
语音提示:购买的饮料数量有问题

购买的饮料数量大于数据库数量

在这里插入图片描述
语音提示:饮料数量不足

用户金钱不足

在这里插入图片描述
语音提示:用户余额不足

没有该商品

在这里插入图片描述
语音提示:暂无商品

信息修改异常

在这里插入图片描述
语音提示:输入饮料价格不能小于0

存在的问题

  1. 如果数据库很大会占很多运行内存,因为数据库缓存是把所有的信息都加载进来的。
  2. 客户端有直接访问数据库,用户登出是通过服务器控制的,获取饮料,设备信息是通过服务器的。因为太懒就不想改了。应该要去掉客户端的数据库模块,改成访问服务端获取数据。
  3. 服务器宕机,这个会导致登陆的用户没有设置退出就结束程序了。应该要在服务器保存快照,下一次服务器打开的时候恢复数据。
  4. 没有添加管理员的功能,我感觉不能有这个功能,不知道对不对。
  5. 没有动态添加人脸识别图片和商品的功能,目前只能手动添加。因为个人比较懒,而且实训的时候琐事有点多就没有添加这个功能。实现的话应该是用tcp传图片文件,还有给技术问题,如何检测图片是否符合要求?给的图片太丑,放到客户端显示就更难看了。这里吐槽一下自己的ps技术,我自己都看不下去了?
  6. 无法连接多个客户端,因为服务器就声明了一个通信套接字的指针,多用户的话需要动态管理服务端的通信套接字,已经一个用户的登陆表。
  7. 饮料的状态应该使用状态模式动态添加,但是考虑到饮料的状态比较少,就没有抽象出基类。
  8. 通信模块使用自己定义的格式,以后换成json或者其他的
  9. 扫脸登陆应该采用用户名+人脸登陆才行,不然光用人脸登陆用户一多肯定就卡。
  10. 还有就是前面提到的bug,看到这里应该已经清楚了,如果实现了第二点就完美解决这个问题,如果不想实现的话就每次在购买之前查询一下设备有没有开机。

如何运行

网盘链接放在下面了
在这里插入图片描述
在这里插入图片描述
或者改一下源代码里面的路径也可以
这个例子里面的程序也是debug版本的,想直接运行要添加qt环境变量,相信大家都会这里我就不写了。
在这里插入图片描述

如果想要试一下人脸识别登陆的,要把自己的照片放在img文件夹里面,照片名字就是用户名名字,类型是jpg。在光线良好和人脸清晰的情况下识别率很高。

源代码

客户端:
在这里插入图片描述
服务端也差不多




因为这只是实训的一次小白的练手,所以就不会再改了v||

我最喜欢免费,所以就免费分享了。(主要是写的太烂了)
链接挂了请联系我。

项目链接:https://pan.baidu.com/s/1_bcdoQxzDhAVMVYW1waeOw
提取码:iq7u

  • 15
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
这个错误是语法错误,错误代码为C2059,出现在C:\Qt\Qt5.9.2\5.9.2\msvc2015_64\include\QtCharts\qvalueaxis.h文件的第60行。根据提供的信息,这个错误可能与QtCharts库的使用有关。没有给出具体的错误消息,所以我无法给出具体的解决方案。但是根据引用中提到的qmake命令和引用和引用中提到的在QT安装路径下拷贝文件的操作,我可以提供以下一般的解决方案给你参考: 1. 确保你的Qt版本和使用的库版本是兼容的。如果你使用的是Qt5.9.2版本,那么你应该使用与之兼容的QtCharts库版本。 2. 检查你的代码中是否正确包含了QtCharts库的头文件。在你的代码中查找#include <QtCharts>或类似的语句,并确保路径是正确的。 3. 检查你的代码中是否有语法错误,比如缺少分号、括号不匹配等等。这可能会导致编译器报错。 4. 检查你的环境变量和项目配置是否设置正确。确保你的Qt安装路径已正确设置,并且库文件、头文件等文件被正确引用。 如果以上解决方案无法解决你的问题,请提供更详细的错误消息或更多的上下文信息,以便我能够更准确地帮助你解决问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [QT在VS2015环境下Project ERROR: Cannot run compiler ‘cl’. Maybe you forgot to setup the environment...](https://blog.csdn.net/weixin_29274969/article/details/116812209)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [qt5.9.2 下配置opengl!(有坑)](https://blog.csdn.net/love_0_love/article/details/104171348)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值