本博客主要分析结对同学的个人项目代码实现优缺点
一、个人项目介绍
二、代码分析
首先该项目主要的问题在于读取文件内容以及如何保证随机性的出题,实现代码如下:
整体函数内容很好理解,通过c++自带的file读取文件内容获取用户信息后与输入的信息对比是否正确以此判断是否登录成功
在登录成功并读取用户信息后即可生成对应的试卷,实现函数分为两个部分,一部分用于选择随机的字符并将其存入数组中,一部分将数组中的字符进行随机组合生成最终题目
可以看到对于每个字符生成都有对应的随机数代表
此处是将随机生成的字符串进行了最终的处理生成题目,总体上也是用了c++中自带的rand随机数以及对字符串的处理,其中的变量定义在另一个头文件makemathtest.h里
代码运行结果如下:
总结:总体上代码量并不大,框架思路也很清晰,但由于几乎没有注释以及变量名有些不符合规范,在分析代码时存在部分问题(并不是很好理解细节),同时对于类的封装做的并不完善,用户的信息均定义为public,实际情况容易导致用户信息的丢失