首先是运行了userInit()函数,这个函数是对用户的初始化,将数据导入。定义一个用户类,分别包括 用户名 密码 类型。然后创建一个类数组来保存其数据。
然后是loginInit() 函数。利用一个布尔值 flag 来判定是否登录成功,简单而有效。
然后进入examService(User user)函数,来对各种输入进行判断并作出行为,若输入正确,即开始生成试卷,即进入getPaper()函数。开始生成试卷。
缺点:整个代码几乎没有注释,使得读起来有一点困难。
尤其是在getQuestion函数中,其变量名的选定并不能明显看出来意思,对其理解过程增加了很大的难度
对于生成试卷的过程:
优点 :简洁高效且层次分明。
共分三步,getQuestion获取一个单独的题目, getPast 获取过往的题目以防止题目重复,getPaper 获取试卷,将题目一个一个存入。且题目生成是以操作数为单位的,即对不同类型,对操作数前后加上不同的符号,最后以加减乘除来组合在一起,在我看来非常的巧妙。
缺点:细节不够完美。
虽然考虑了小学不能有一个操作数的情况,但三角函数都是随机生成的,根本没考虑是否能算出来,且三角函数是有可能为0的,所以前面是否有÷符号也没有考虑。