一、 项目综述

本系统是基于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++语法,以及对面向对象编程的理解深刻了。

带UI 的小初高数学学习系统 —结对编程项目总结的更多相关文章

  1. 结对编程——带UI的小初高数学学习软件

    一.简介 本次项目要求: 1.所有功能通过图形化界面操作,可以是桌面应用,可以是网站(编程语言和技术不限): 2.用户注册功能.用户提供手机号码,点击注册将收到一个注册码,用户可使用该注册码完成注册: ...

  2. 带UI的小初高数学学习软件—艰难地用C++(QT库)实现的过程

    从互相了解对方的代码思路然后确定用C++编写,到用win32写界面时变得摇摆不定的考虑着要不要改变语言,再到用QT写完界面后发现短信接口一般都不提供C++,最后到QT打包出来的可执行文件在别的设备上无 ...

  3. 带UI的小初高数学学习软件

    结对编程项目总结   一.项目需求分析与功能总结 (1)用户注册功能 用户提供手机号码,点击注册将收到一个注册码,用户可使用该注册码完成注册. (2)设置密码功能 密码6-10位,必须含大小写字母和数 ...

  4. 结对编程项目复盘:带UI的小初高数学学习软件

    实现个人项目时,由于我当时的Java GUI编程基础还比较薄弱,所以我选择通过命令行实现,并将编程开发的重点放到了算法效率上去.没能设计出用户体验更佳的UI成为了我在个人项目阶段最大的遗憾. 在这次结 ...

  5. HNU_小初高数学学习软件_功能说明

    结对编程项目主要功能: 1.用户注册功能.用户提供手机号码,点击注册将收到一个注册码,用户可使用该注册码完成注册: 2.用户完成注册后,界面提示设置密码,用户输入两次密码匹配后设置密码成功.密码6-1 ...

  6. ASP.NET MVC4 学习系统一(项目模板)

    项目模板 1.空模板      空模板用于创建ASP.NETMVC 4网站的架构,包含基本的文件夹结构,以及需要引用的asp.netmvc程序集,也包含可能要使用的javaScript 库.模板同样包 ...

  7. C#【结对编程作业】小学数学习题助手

    一.软件成品展示 软件本体下载(包括程序及其更新日志,源码工程包,UML图,API接口文档,算法介绍文档,算式计算excel实例,浅查重程序) 链接: http://pan.baidu.com/s/1 ...

  8. 使用Java带你打造一款简单的英语学习系统

    [一.项目背景] 随着移动互联网的发展,英语学习系统能结构化的组织海量资料.针对用户个性需求,有的放矢地呈现给用户,从而为英语学习者提供便利,提升他们的学习效率. [二.项目目标] 1. 实现美观的界 ...

  9. 小C的数学问题 【单调栈】

    问题 J: 小C的数学问题 时间限制: 1 Sec  内存限制: 128 MB 提交: 565  解决: 141 [提交] [状态] [命题人:外部导入] 题目描述 小C是个云南中医学院的大一新生,在 ...

随机推荐

  1. Go测试开发(一) 怎么写Go代码

    安装过程略过,网上搜一大把. 介绍 本文会在一个module中开发一个简单的Go package. 同时介绍go tool(也就是go命令行). 以及如何fetch,build和install Go的 ...

  2. Black & White(尺取)

    链接:https://ac.nowcoder.com/acm/contest/893/F来源:牛客网 * 第一行一个整数 T ,表示接下来有 T 个样例.* 首先输入n,m,表示S串的长度n和操作次数 ...

  3. HashMap源码解析、jdk7和8之后的区别、相关问题分析(多线程扩容带来的死循环)

    一.概览 HashMap<String, Integer> map = new HashMap<>(); 这个语句执行起来,在 jdk1.8 之前,会创建一个长度是 16 的 ...

  4. ASP.NET Core 3.x控制IHostedService启动顺序浅探

    想写好中间件,这是基础.   一.前言 今天这个内容,基于于ASP.NET Core 3.x. 从3.x开始,ASP.NET Core使用了通用主机模式.它将WebHostBuilder放到了通用的I ...

  5. 跟着兄弟连系统学习Linux-【day03】

    day03-20200529 p10.学习注意事项         linux严格区分大小写(与python有点像)         Linux中所有内容都是通过文件形式保存,通过命令执行设置参数,写 ...

  6. latex tips

    latex tips  latex 插入图片 主要是插入图片位置的问题,代码中的  bb=   决定了插入 fig2.eps 图片的某一方形区域,其中     表示该方形区域的左下角像素坐标是 0 0 ...

  7. js中页面加载完成后执行的几种方法及执行顺序

    在js和jquery使用中,经常使用到页面加载完成后执行某一方法.通过整理,大概是五种方式(其中有的只是书写方式不一样). 1:使用jQuery的$(function){}; 2:使用jquery的$ ...

  8. 双向绑定数据的实现(new Proxy 版本)

    调用 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8& ...

  9. SpringCloud实战 | 第一篇:Windows搭建Nacos服务

    前言 为什么放弃eureka选择nacos?本地开发环境需要搭建nacos-server,想着是很简单的事但是被一些文章(少了关键必要的步骤)给带偏了,所以亲测成功后写了这篇文章. 搭建nacos-s ...

  10. 人人框架renren-security |小记(第一篇)

    ​ 一丶首先介绍一下人人框架: 1.简介 renren-security | 轻量级权限管理系统 采用Spring.MyBatis.Shiro框架,开发的一套权限系统,极低门槛,拿来即用 支持分布式部 ...