代码概述
整个项目采用C++开发,一共两个模块:
- mian.c(交互界面、主函数、试卷生成等)
- Initialization():初始化函数:创建worker.txt文件用来保存用户信息,读文件的方式用三个变量将文件内容读取出来,然后构造newuser这个对象,然后储存在用户数组中,以此确定用户数量 。
- SaveUserInformation():储存用户信息函数:用写文件的方式打开文件,将三个变量将用户数组中对象的三个属性依次存储在文件中,实现用户信息的保存 。
- JudgePeopleSame(string id):用户查重函数:输入的与用户数组里的数据一一对比来判断。返回值:不一致返回真(1),否则返回假(0)。
- AddUser():增加用户函数:用三个变量的输入确定对象的三个属性,然后用创建对象newuser然后存储用户数组的下一位。
- JudgeUser(string t_id, string t_key):判断用户登录信息是否正确的函数。
- CheckDuplicate(char compare[]):题目查重函数。
- TestPaper1(int num, string name)、TestPaper2(int num, string name)、TestPaper3(int num, string name):试卷生成的三个函数。
- Login():登录函数:构造了一个特殊界面给用户进行登录操作,登录成功即可选择生成试卷或者切换类型,以此生成特殊的试卷。
- StartInterface():开始界面函数:通过一个构造的界面以及switch来满足登录和注册用户的操作 。
- teacher类:
-
-
tch_class_:学生类别:小学,初中,高中
-
tch_id_id:账户:一般为用户姓名
-
tch_key_:密码:可以设置数字+字母的多样密码
-
Teacher():无参构造函数
-
Teacher(string tch_class, string tch_id, string tch_key):有参构造
-
代码优点
-
代码格式规范。
-
文件名、类名、变量名取名都使用驼峰法,简洁明了,可读性强。
-
缩进、空格、自动换行都采用统一标准,大气美观。
-
每个类或方法都有注释解释说明了大致功能与参数、返回值。
-
-
各功能分类明确,准确无误地满足了项目需求,测试无bug存在。
-
生成题目的算法采用了分解组合的方法,多操作数题目由少操作数题目组合而成,如五操作数题目由四操作数题目加一操作数而成,以此类推。该算法考虑到了各种题目情况,比较全面。
-
在用户界面一些输入要求没有提示,有些输入错误后跳转界面不友好。
-
一些难懂的代码旁没有注释使得理解有些困难。
-
生成题目的方法中代码的重复率过高,比较庞杂。
浙公网安备 33010602011771号