基于C++ Qt的积分抽奖系统源码,实现了用户注册、商品购买、积分抽奖等功能

基本介绍

完整代码下载:基于C++ Qt的积分抽奖系统

这个是我大二上学期的课程作业仓库,
目的是实现一个超市积分抽奖系统,
基本的功能是实现一个能够在超市购物的同时进行抽奖的积分系统,
主要用到的技术栈就是Qt和c++,

叠甲:由于开发这个项目的时候我们才刚刚学数据结构,仅仅学过简单的c++开发,Qt还是我们暑假自己摸索的,所以项目中可能有不成熟的地方,或者是没有使用高级的算法或数据结构而是选择了简单的for循环等等,请注意,那绝非我们刻意而为之,只是真的当时太菜了,希望各路大神以发展的眼光看问题,轻点喷啊,thank you

基本架构图

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

当然了,项目开发后期由于Qt独特的文件结构问题,我没有完全的按照架构开发,这个可以作为开发的思路

基本函数以及功能实现

1.登录

登录函数:用于用户进行登录和注册操作。用户启动程序可以选择通过输入用户名密码进行登录或者进行注册操作。若选择通过输入用户名密码进行登录,
系统会自动将用户所输入的用户名和密码与文件中所存储的用户名和密码进行校验。若校验失败,则弹出登录失败提醒;若校验成功,
则根据用户的身份分别进入“顾客”界面和“管理员”界面。若选择注册操作,则可在登录页面输入用户名和密码进行注册操作
如图所示
在这里插入图片描述

2.抽奖算法

这一部分是组员none102设计的,感谢
用于进行抽奖操作,返回抽奖所得到的奖品。系统调用抽奖算法,生成一个长度为1000的数组。
同时,系统通过识别当前抽奖的概率将一定数量的数组成员赋值为奖品的ID,并通过生成随机数从而达到抽奖目的
如图所示
在这里插入图片描述

3.修改信息

管理员在页面中点击“查看”按钮后查看当前的用户信息情况,并且可以通过选中相应的信息直接在该页面进行修改。
点击“保存”按钮之后,系统自动在文件之中保存修改后的信息,如图所示。

在这里插入图片描述

基本界面信息

在这里插入图片描述

登录页面

在这里插入图片描述

注册页面

在这里插入图片描述

输入页面

在这里插入图片描述

注册成功

在这里插入图片描述

主界面

在这里插入图片描述

抽奖页

在这里插入图片描述

报错页

在这里插入图片描述

充值后进行抽奖

在这里插入图片描述

管理员页面

在这里插入图片描述

能自动生成id

在这里插入图片描述

系统保存主要用户的特征值

在这里插入图片描述

查找用户信息

在这里插入图片描述

修改用户信息

在这里插入图片描述

修改商品信息

在这里插入图片描述

修改奖品

在这里插入图片描述

更改奖池

在这里插入图片描述

完整代码下载:基于C++ Qt的积分抽奖系统

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/94384.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

火山引擎 ByteHouse 与白鲸开源完成兼容性认证,加速数据价值释放

更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群 数据作为新型生产要素,已快速融入生产、分配、流通、消费和社会服务管理等各环节,深刻改变着生产方式、生活方式和治理方式。越来越多企业也…

Hive【Hive(五)函数-高级聚合函数、炸裂函数】

高级聚合函数 多进一出(多行输入,一个输出) 普通聚合函数:count、sum ... 1)collect_list():收集并形成 list 集合,结果不去重 select sex,collect_list(job) from e…

JAVA学习(3)-全网最详细~

回顾 昨天学了 Java 中的数据类型-整型 int - integer,以及什么是标识符identifier和它的命名规则,什么是保留字(reserved word key word),最后还谈到了Java变量包括局部变量和成员变量(在类内部,方法外部的变量),变量必须要初始化,否则会报错.如果有遗忘或者是感兴趣的小伙伴…

Python PEP8 代码规范常见问题及解决方案

Win11查看安装的Python路径及安装的库 Python3(基础|高级)语法实战(|多线程|多进程|线程池|进程池技术)|多线程安全问题解决方案 Python PEP8 代码规范常见问题及解决方案 Python3操作MySQL8.XX创建表|CRUD基本操作 Python3操作SQLite3创建表主键自增长|CRUD基本操作 anac…

ESLint自动修复代码规范错误

基于 vscode 插件 ESLint 高亮错误,并通过配置 自动 帮助我们修复错误 在设置中 settings.json添加这段代码就自动修复错误 // 当保存的时候,eslint自动帮我们修复错误 "editor.codeActionsOnSave": { "source.fixAll": true }, /…

Ubuntu安装samba服务器

为了window系统下能够像访问本地目录一样访问ubuntu系统下的目录,这里我通过安装samba服务器,将ubuntu系统的文件目录通过网络挂载的方式共享出来,以便在window下就能够对ubuntu系统的文件进行读写等访问操作,这里记录一下samba服…

HTTP的请求方法,空行,body,介绍请求报头的内部以及粘包问题

目录 一、GET与POST简介 二、空行和body 三、初识请求报头以及粘包问题 四、认识请求报头剩余部分 一、GET与POST简介 GET https://www.sogou.com/HTTP/1.1 请求报文中的方法,是最常规的方法(获取资源) POST:传输实体主体的方法…

插入排序:简单而有效的排序方法

在计算机科学中,排序算法是一个重要且常见的主题,它们用于对数据进行有序排列。插入排序(Insertion Sort)是其中一个简单但有效的排序算法。本文将详细解释插入排序的原理和步骤,并提供Java语言的实现示例。 插入排序的…

systrace/perfetto抓取方式分享

背景 近来有一些同学反馈性能分析,现在大部分都是其实已经开始使用perfetto了,连sdk上都已经找不到哦systrace相关工具,让马哥可以分享一些这个相关内容,其实以前企业里面那时候大部分都是使用老版本systrace的,相比新…

sheng的学习笔记-【中文】【吴恩达课后测验】Course 1 - 神经网络和深度学习 - 第二周测验

课程1_第2周_测验题 目录:目录 第一题 1.神经元计算什么? A. 【  】神经元计算激活函数后,再计算线性函数(zWxb) B. 【  】神经元计算一个线性函数(zWxb),然后接一个激活函数…

【C语言进阶(11)】动态内存管理

文章目录 Ⅰ 存在动态内存分配的原因Ⅱ 动态内存函数1. malloc2. calloc3. realloc4. free (重要) Ⅲ 常见动态内存错误1. 对 NULL 指针的解引用操作2. 对动态开辟空间的越界访问3. 对非动态开辟内存使用 free 释放4. 使用 free 释放一块动态开辟内存的一部分5. 对同一块动态内…

《深度不确定条件下的决策:从理论到实践》PDF

制定未来计划时需要预测变化,尤其是制定长期计划或针对罕见事件的计划时。当这些变化存在高度不确定性的时候,这种预期就变得越来越困难。 今天给大家介绍的这本《深度不确定条件下的决策:从理论到实践》正是解决以上问题的良方。完整书籍文…

数据结构与算法-顺序表

数据结构与算法 🎈1.线性表🔎1.1基本操作🔎1.2线性表的存储结构 🎈2.线性表的顺序表示和实现🔎2.1线性表的顺序存储表示🔭2.1.1静态顺序表🔭2.1.2动态顺序表 🔎2.2顺序表基本操作的实…

安卓:解决AndroidStudio导出Unity的Apk(APP)出现2个显示图标

用AndroidStudio打开该项目 实现只保留1个app图标 AndroidManifest.xml的改法如下&#xff1a; <?xml version"1.0" encoding"utf-8"?> <manifest xmlns:android"http://schemas.android.com/apk/res/android" package"com.fru…

【开发篇】十四、SpringBoot整合Quartz实现定时任务

文章目录 1、关于定时任务2、Java原生实现3、相关名词4、SpringBoot整合Quartz5、Quartz的通用配置6、关于QuartzJobBean7、关于调度器Scheduler的绑定8、Quartz持久化 1、关于定时任务 定时任务在实际开发中使用场景很多&#xff0c;比如&#xff1a; 年度报告各种统计报告某…

【小程序 - 加强】自定义组件、使用npm包、全局数据共享、分包_05

目录 一、自定义组件 1. 组件的创建与引用 1.1 创建组件 1.2 引用组件 1.2.1 局部引用组件 1.2.2 全局引用组件 1.2.3 全局引用 VS 局部引用 1.2.4 组件和页面的区别 2. 样式 2.1 组件样式隔离 2.2 组件样式隔离的注意点 2.3 修改组件的样式隔离选项 2.4 styleIso…

C++(List)

本节目标&#xff1a; 1.list介绍及使用 2.list深度剖析及模拟实现 3.list和vector对比 1.list介绍及使用 1.1list介绍 1. list是可以在常数范围内在任意位置进行插入和删除的序列式容器&#xff0c;并且该容器可以前后双向迭代。 2. list的底层是双向链表结构&#xff0c;…

内网综合扫描工具-fscan的安装和使用

简介 一款内网综合扫描工具&#xff0c;方便一键自动化、全方位漏扫扫描。 支持主机存活探测、端口扫描、常见服务的爆破、ms17010、redis批量写公钥、计划任务反弹shell、读取win网卡信息、web指纹识别、web漏洞扫描、netbios探测、域控识别等功能。相当强大&#xff01;&…

国庆10.04

服务器 代码 头文件 #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include<QTcpServer> //服务器头文件 #include<QTcpSocket> //客户端头文件 #include<QList> //链表容器 #include<QMessag…

OpenCV(Python)的二值化示例

# -*-coding:utf-8-*- # src&#xff1a; 输入图&#xff0c;只能输入单通道图像&#xff0c;通常来说为灰度图 # - dst&#xff1a; 输出图 # - thresh&#xff1a; 阈值 # - maxval&#xff1a; 当像素值超过了阈值&#xff08;或者小于阈值&#xff0c;根据type来决定&#…