个人项目评测——中小学数学卷子生成

结对编程中双方互相审查代码是一个相互学习的过程,从对方的代码中可以学到一些想不到的新的想法。正所谓孔子说的“三人行,必有我师焉”。

优点:

1、建立一个用户类,将对用户的登录、切换、生成试卷、输出文件等操作封装到类中,具有良好的封装性和可扩展性。

class User {
    private:
        string Passward;
        int Number;
        string Name;
        string Type;
        string folderPath;
        string Path;
        ofstream Paper;
        stringstream question;
    public:
        void SignIn();
        void Exam_Paper();
        void Symbol(int option,int ope);
        void Switch_Type();
        void Name_File();
        bool Check();
};

2、在生成试卷的函数中对代码进行了重用,减少了代码量。(相较之下自己分了三类处理,整个函数的代码显得冗长)

3、思路清晰,主函数中只简单调用了函数,代码量很少。

4、对于操作数,有先后问题(比如根号在操作数前而平方在操作数后),她采取的方式是建立一个函数对操作数进行处理,这非常大地减少了函数的代码量。

void User::Symbol(int option,int ope) {//对每个操作数进行处理
    switch(option) {
        case 0://不处理,即小学的题目
            question<<ope;
            break;
        case 1:
            question<<ope<<"^2";
            break;
        case 2://option为0-2时,表示生成初中的题目
            question<<""<<ope;
            break;
        case 3:
            question<<"sin"<<ope;
            break;
        case 4:
            question<<"cos"<<ope;
            break;
        case 5://option为0-5时,生成的是高中的题目
            question<<"tan"<<ope;
            break;
    }
}

缺点:

1、对于检查是否生成相同题目还存在一定问题。

2、没有生成文件夹,在实际操作中意义不大。

原文地址:https://www.cnblogs.com/jiangjia/p/11552398.html