个人项目——队友代码优缺点分析

项目要求:

中小学试卷自动生成系统,用户登录系统后可生成指定难度和数量的题目,保存在一个TXT文件中,同一用户出题不会与之前的题目重复。

代码分析:

队友是用C++编写的程序,使用了一个User类,包括的私有成员有用户的用户名,密码,出题类型,出题数量,保存文件的路径,保存文件的文件夹,输入题目的字符流,在保存题目的文件中输入的文件流。公有函数有登录系统,生成试卷,切换出题类型,文件命名,题目查重。这个类成员非常丰富,基本上将所有需要用到的功能和变量都封装在类中了,在主函数中,只需要创建一个对象,然后调用它的函数就好了。

函数分析:

系统登录函数:提示要输入用户名和密码,输入正确后,会提示成功登录和出题类型,如果输入错误,则会继续提示“请输入用户名和密码”,优点:有适当提示,用户使用起来比较清楚。缺点:如果用户在输入用户名和密码时,输入了两个空格,程序可能会出现一些问题。

试卷生成函数:根据用户输入的题目数量,生成相应数量的题目。如果输入-1,则会调用系统登录的函数,退出当前用户,重新登录。如果输入的数量不在有效范围内,也会要求重新输入。对于每道题目,随机生成操作数的数量,操作符,括号的位置,以及进行查重。优点:三种难度试卷的生成在一个函数中实现,减少了代码的耦合度。缺点:生成的试卷中,每道题目最多只有一个括号。

切换出题类型函数:缺点:当选择不切换类型时,不会继续出题,而是重新登录,原因在于选择切换类型时,调用了试卷生成函数,而选择不切换时,没有调用该函数。

文件命名函数:使用了相对路径

查重函数:将之前生成的题目都保存在一个文件中,每生成一题都和该文件中的题目进行比较。

 

posted @ 2020-10-01 00:38  鄢蝶  阅读(93)  评论(0)    收藏  举报