结对编程进展总结

Posted 萱纸

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了结对编程进展总结相关的知识,希望对你有一定的参考价值。

  将整个程序分为三个模块,自动生成表达式模块,接收表达式判断用户输入模块,接收表达式字符串计算模块

  1.接收表达式字符串计算模块   Calc( )

  正如要求中的一样,Calc函数接收字符串的输入,字符串里就是运算式子,例如“5+3’1/2”,这个模块的返回值就是一个字符串,例如上述运算式子的返回就是“8‘1/2”。我们用到的是类Expression.

  测试代码:

1     string teststr;
2     cout<<"请输入字符串表达式:"<<endl;
3     getline(cin,teststr);
4     string result = Calc(teststr);
5     cout<<result;

   测试结果:

    在小黑框中测试一下,如下图

技术分享

 

   2.接收表达式判断用户输入模块  

  这个模块主要是判断用户输入的各种异常,当用户输入错误时,能够通知用户大概错在哪里。函数为IsErr()

  测试代码:

1     string teststr;
2     cout<<"请输入字符串表达式:"<<endl;
3     getline(cin,teststr);
4     IsErr(teststr);

 

   测试结果,包括各种可能:

技术分享技术分享技术分享技术分享

   

   3.自动生成表达式模块

  这个模块我们用到的都是上一个个人项目中的代码,但是这里,我们修改了一点,使得这个模块可以支持负数,也就是在生成操作数时,我们不在局限于正数范围,对于我们给定的数据范围MaxNum,生成的操作数应该可以在  [-MaxNum, MaxNum]之间。

生成操作数的函数做了相应的修改

 1 Value::Value(int MaxNum)
 2 {
 3     int pro = rand() % PRO;
 4     //这个随机数控制运算表达式中的分数出现的频率。
 5     if (pro == 0)
 6     {
 7         demon = rand() % (MaxNum-1) + 1;
 8     }
 9     else 
10     {
11         demon = 1;
12     }
13     int pro1 = rand() % PRO1;
14     //这个随机数控制运算表达式中负数出现的频率
15     numer = rand() % (demon * MaxNum);
16     if (pro1 == 0)
17     {
18         numer = numer * -1;
19     }
20 }

 

  

 

以上是关于结对编程进展总结的主要内容,如果未能解决你的问题,请参考以下文章

结对项目进展二

结对项目进展

结对编程的总结

软件工程(2018)第二次结对作业

结对编程的优劣

结对-结对编程项目作业名称-结对项目总结