一、 项目综述
本系统是基于QT Creator 4.3.0开发环境,开发语言C++,能够实现用户注册,发送短信验证码,用户登陆,用户选择题目类型和数量,显示用户本次答题基本功能。支持对用户账号查重,账号密码以及验证码的准确性检测。
二、 项目实现
项目主要分成了7个模块,每个模块都有对应的ui以及cpp代码实现
0x01 系统登陆页面
file LoginUser.cpp & LoginUser.h & LoginUser.ui
点击 "登录",成功时跳转至主菜单页面,失败时提示 “账户或密码错误” (此时需要注册新用户,或检查一下是否输入错误)
点击 "注册",跳转至注册界面
0x02 系统注册页面
file RegWindow.cpp & RegWindow.h & RegWindow.ui、
点击 "获取短信验证码",成功时会弹出提示框"正在发送验证码",等待手机接收得验证码,填入框内
点击 "注册",成功时会弹框提示"注册成功,点击跳转至登陆界面",
点击 "注册",失败时如果弹出"该手机号已被注册",则需要更改手机号注册,如果提示"验证码错误",需要检查验证码输入是否正确
0x03 设置密码界面(注册后)
file SetPassword.cpp & SetPassword.h & SetPassword.ui
输入密码两次,点击“确认”
成功会显示“跳转至主界面”
失败会显示“请重新输入”
0x04 主菜单页面(选择界面)
file MainWindow.cpp & MainWindow.h & MainWindow.ui
点击 "小学"或"初中","高中" 跳转到生成题目的界面,生成对应类型题目
点击“修改密码”跳转至改密码界面
0x05改密码界面
file ChangePassword.cpp & ChangePassword.h & ChangePassword.ui
输入账号、旧密码、两次新密码,点击“确认”
0x06 生成题目页面
file CreatProblems.cpp & CreatProblems.h & CreatProblems.ui
点击选项旁边按钮会记录用户选择的答案,首次四个按钮是没有被选,之后的题目,每次进入选项会和上次选的一样,用户需要重新点击要选的答案
点击"下一题" 继续生成题目,当全部题目数量超过输入时,跳转至分数页面
0x07 分数页面
file CheckGrade.cpp & CheckGrade.h & CheckGrade.ui
点击 "查看分数" 显示用户所得分数
点击 "退出" 退出本系统
点击“跳转至主界面”跳转至主界面(选择界面)
三、 项目经验及教训
由于结对两人的都是C++语言,虽然要带ui,也决定用C++开发。于是选择了从未接触过的QT。经过这次项目,也算是边学边入门了QT,从而得出要快速掌握一个工具,通过边写实例项目,边查找QT文档是比较快的,能够快速满足自己对工具功能的需求。不过一周下来,虽然用QT实现了项目,但是系统化的对QT认识依旧不够深入。如果需要熟悉,还是需要学习QT的基本功能文档这些。其次通过这次项目,真正体会到了类的模块化编程的优点,通过分模块编程,不仅可以让自己开发是思路逻辑清晰,还会减少bug的产生。
在开发过程中,也因为一些开发规范,导致了很多bug,比如类之间得互相包含,导致类型错误,发送post请求不成功等等。耗费了大量的时间
不过总体开发下来,和队友的合作,以及在开发过程中不断的查询资料,学习到了很多东西,包括短信验证码实现,QT的C++语法,以及对面向对象编程的理解深刻了。