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


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

    优点:

    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、没有生成文件夹,在实际操作中意义不大。

  • 相关阅读:
    yii required 字段去除*号
    shtml用include加载文件,apache开启SSI,及shtml压缩
    门户站点用html或shtml文件格式的原因
    Apache配置shtml
    数据库迁移工具
    SQL SERVER2005 级联删除
    MySql级联删除和更新
    js只允许输入数字和小数点
    表格中的数据为空时,td的边框不显示
    MYSQL: Cannot delete or update a parent row: a foreign key constraint fails
  • 原文地址:https://www.cnblogs.com/jiangjia/p/11552398.html
Copyright © 2020-2023  润新知