QT刷题系统
QT+MySql实现刷题系统。
语言
- C++
框架
- Qt5
数据库
- MySQL
功能
管理员
- 用户信息管理
- 编辑试卷(可添加新试卷和修改已有试卷)
- 删除试卷
- 查看试卷的测试人数,以及正确率。
- 密码修改
用户
- 用户注册
- 浏览所有试卷
- 选择试卷进行测试
- 查看成绩
- 错题巩固
- 用户个人信息修改
设计思想
管理员端,设计友好的试卷创建界面,可填写试卷信息创建试卷,可对试卷进行增删查改等操作,试卷创建好后,可对试卷进行题目添加,题目类型有选择题和填空题(判断题也属于选择题性质因此归为一类),对于不同的题目,提供特定的题目编辑界面,如选择题的编辑界面可添加选项,并且每个题目可设定不同的分值,考虑到题型的复杂性,所以不适合直接采用mysql的字段来管理,我最终采用的方案是用json数据来描述每一道题,mysql字段下只存放json数据。
学生用户端,可以选择试卷并进行答题,根据对json数据的解析,呈现答题界面(如选择题须在界面呈现选项框,填空题须提供答题输入框),在学生完成所有题目后,计算学生的成绩和正确率,且提供错题巩固功能,错题巩固功能会在学生错误的题目上标注正确答案,让学生重新选择答题。管理员端会收集所有学生的答题信息,统计出某试卷的答题人数、平均分、正确率等。
环境配置
请先安装QtCreator
和MySQL
,如若数据库账号不是root
或者密码不是123456
可修改程序配置文件config.ini
中的配置项,使其跟你数据库账号密码一致。
执行installdb.bat
导入数据库脚本(会提示输入管理员密码)。
导入完成后即可在QtCreator中启动程序,如若发生启动失败,可能原因存在以下两方面:
- mysql安装配置问题,如端口未开放、账号密码错误等;
- Qt的MySQL驱动问题,此问题可自行百度解决,推荐文章:https://www.foxzzz.com/QT-to-MySQL/
附录
mysql安装
- 解压
mysql-8.0.16-winx64
; - 配置环境变量,将解压文件夹下的bin路径添加到变量值中;
- 安装mysql,以管理员身份运行cmd.exe,
cd
到bin目录下,执行命令:mysqld --initialize --console
,记住打印的随机密码; - 启动mysql服务命令:
net start mysql
(如果出现服务名无效,请先执行mysqld.exe -install
); - 更改密码,执行
mysql -u root -p
,输入随机密码,执行ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
,设置新密码;
程序截屏
管理员-用户管理
管理员-试卷管理
管理员-查看成绩
操作录屏
管理员登录后,创建试卷,编辑题目
学生用户登录后,选择试卷,答题,查看成绩,巩固练习
源码下载
链接:https://pan.baidu.com/s/1K4cCxIKdIc1RHMeVegFCDg?pwd=1111
提取码:1111