HNU个人项目中小学数学卷子自动生成程序互评

发布时间 2023-09-21 23:23:46作者: Oración

一、简介

本博客是对结对编程队友代码的分析与总结,代码使用语言为C++。

完成情况:很好的实现了项目的需求,功能完整。同时每个页面的提示信息都比较完整,在不需要他人协助的情况下,可以根据屏幕上的提示信息进行操作,如果用户输入不正确,系统会出现指示,显示正确输入格式,用户可根据提示继续进行对系统的操作。

 

二、项目需求分析

1、命令行输入用户名和密码,两者之间用空格隔开,核对是否正确。如果用户名和密码都正确,将根据账户类型显示“当前选择为XX出题”,XX为小学、初中和高中三个选项中的一个,否则系统提示错误信息,重新输入用户名、密码。

2、登录后,系统提示当前账户年级,用户输入所需出的卷子的题目数量,系统默认将根据账号类型进行出题。每道题目的操作数在1-5个之间,操作数取值范围为1-100。

3、程序根据输入生成符合的题目的卷子。同一个老师的卷子中的题目不能与以前的已生成的卷子中的题目重复。

4、在登录状态下,实现用户需要切换类型选项的功能并作出提示,系统对新设置的类型进行出题。

5、生成的题目将以特殊形式保存,每个账号一个文件夹。文档内题目以特殊格式存储。

 

附表-1:账户、密码

账户类型

账户

密码

备注

小学

张三1

123

 

张三2

123

 

张三3

123

 

初中

李四1

123

 

李四2

123

 

李四3

123

 

高中

王五1

123

 

王五2

123

 

王五3

123

 

附表-2:小学、初中、高中题目难度要求

 

小学

初中

高中

 

难度要求

+,-,*./

平方,开根号

sin,cos,tan

 

备注

只能有+,-,*./和()

题目中至少有一个平方或开根号的运算符

题目中至少有一个sin,cos或tan的运算符

 

 

三、代码主体架构

  1. AccountInterface类:账户接类口 被子类继承实现
  2. LoginSystemInterface类:登陆系统接口类 被子类继承实现
  3. MyAccount:账户类 用于记录用户的账户信息,包含账户名,密码和级别
  4. MyLoginSystem类:登录系统类 用于系统登录和退出
  5. Paperr类:试卷生成类 是登录系统类的友元 用于生成随机试卷并保存

四、功能测试

1、登录功能

 能够正常登录且没有bug,但是界面信息稍显简陋

2、出题功能

 

 出题功能正常,以下是试卷内容

 当异常输入时:

 出题功能正常,能够在指定路径生成正确试卷,并且做出了错误输入的应对方法

 3、切换难度功能

能够正确切换难度

 

五、代码分析

优点:

1.代码逻辑清晰,书写规范,各功能划分清除

2.代码封装性好,很好体现了面向对象的编程思想,反映了本人较高的IT素养

3.符合Google编码规范,注释较为详细,阅读起来较为流畅。

4.根据用户名称将试题分门别类,便于后续操作,人性化

缺点:

1.文字提示过于简陋

2.只能在第一级目录运行