对结对编程盟友的个人项目代码分析

因为我们同样是用C写的,所以可以更好的发现问题解决问题。

但是点开代码后发现,我们的代码风格完全不同,partner是用的面向对象的方法,而我用的是面向过程。

面向对象代码的有优缺点显而易见,优点是封装性更好,缺点是代码冗杂。

回到代码上来,第一步先去看主函数:

 

 

 init为初始化函数我们就不多说了。

然后是login登陆函数,也是依次输入用户名和密码,判断是否输入正确。

之后是check_input函数,这个部分是可以切换用户或者输入题目数量,也是输入一个字符串判断。

接着也就是最重要的部分了,为出题部分,因为括号这部分是最难的部分,而这份代码却很完美的解决了这个问题,先确定操作数的运算顺序,然后往括号里放入操作数,再判断括号能不能去除。

因为要进行结对编程,而且要做出一个UI界面,所以代码不易过于复杂,我们目前打算将此代码中的出题部分移植到我的代码中去,然后用QT软件来做UI界面。

结对编程里面有几个难点,一是注册登陆这一块,因为可能有较多人注册,我们需要将所有注册的人的用户名和密码存在一个文件当中,每次都需要遍历这个文件,会导致越来越慢,但我们还没有想到一个更好的方法来存储用户名和密码。第二个难点就是生成的题目需要有四个选项,这意味着我们需要将我们生成的题目计算出来,而我们的题目使用字符串来表示的,在计算这一块还需要我们将字符串转化为int型,然后再进行计算,还是就是像1/3这种无法除尽的分数和根号2这种肯定不能用小数来表示,这是算法方面的问题。我们暂时也没有很好的解决办法。

不过我们还是希望先做出一个简易的UI界面后,再考虑更深层次的算法问题。

 

posted @ 2019-09-19 18:06  wsh0704  阅读(116)  评论(0编辑  收藏  举报