• QT刷题系统


    QT刷题系统

    QT+MySql实现刷题系统。

    语言

    • C++

    框架

    • Qt5

    数据库

    • MySQL

    功能

    管理员

    • 用户信息管理
    • 编辑试卷(可添加新试卷和修改已有试卷)
    • 删除试卷
    • 查看试卷的测试人数,以及正确率。
    • 密码修改

    用户

    • 用户注册
    • 浏览所有试卷
    • 选择试卷进行测试
    • 查看成绩
    • 错题巩固
    • 用户个人信息修改

    设计思想

    管理员端,设计友好的试卷创建界面,可填写试卷信息创建试卷,可对试卷进行增删查改等操作,试卷创建好后,可对试卷进行题目添加,题目类型有选择题和填空题(判断题也属于选择题性质因此归为一类),对于不同的题目,提供特定的题目编辑界面,如选择题的编辑界面可添加选项,并且每个题目可设定不同的分值,考虑到题型的复杂性,所以不适合直接采用mysql的字段来管理,我最终采用的方案是用json数据来描述每一道题,mysql字段下只存放json数据。
    学生用户端,可以选择试卷并进行答题,根据对json数据的解析,呈现答题界面(如选择题须在界面呈现选项框,填空题须提供答题输入框),在学生完成所有题目后,计算学生的成绩和正确率,且提供错题巩固功能,错题巩固功能会在学生错误的题目上标注正确答案,让学生重新选择答题。管理员端会收集所有学生的答题信息,统计出某试卷的答题人数、平均分、正确率等。

    环境配置

    请先安装QtCreatorMySQL,如若数据库账号不是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 '新密码';,设置新密码;

    程序截屏

    管理员-用户管理
    管理员-用户管理.png

    管理员-试卷管理
    管理员-试卷管理.png

    管理员-查看成绩
    管理员-查看成绩.png

    操作录屏

    管理员登录后,创建试卷,编辑题目
    管理员-试卷管理.gif

    学生用户登录后,选择试卷,答题,查看成绩,巩固练习
    学生用户-刷题.gif

    源码下载

    链接:https://pan.baidu.com/s/1K4cCxIKdIc1RHMeVegFCDg?pwd=1111
    提取码:1111

  • 相关阅读:
    Linux性能优化方案
    从零开始基于LLM构建智能问答系统的方案
    postgres创建递归视图
    2023年7月京东饮料行业数据分析(京东运营数据分析)
    基础 | 并发编程 - [阻塞队列]
    Rust——包管理
    Vue2 开发总结 axios 二次封装 | 请求、响应、渲染的大致流程分析
    爱看小说手机网源码全站带数据带自动采集程序/ThinkPHP内核小说网站源码+书库数据库带自动采集
    React 扩展、hooks的使用、路由懒加载、组件优化/传值(笔记)
    BUG 修复预估模型
  • 原文地址:https://blog.csdn.net/qq_35960743/article/details/126357447