结对编程进展总结

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

  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 }
时间: 2024-12-30 20:20:56

结对编程进展总结的相关文章

浅谈结对编程

浅谈结对编程 结对编程 结对编程,是一种敏捷软件开发的方法,极限编程的组成部分.结对编程技术是指两位程序员肩并肩地坐在同一台电脑前合作完成同一个设计.同一个算法.同一段代码或同一组测试.一人充当“执行”角色,只负责编程.另外则负责“观察者”(或“导航”),检测bug和把控整体设计.两个程序员具有相同的缺点和盲点的可能性很小,所以当我们采用结对编程的时候会获得一个强大的解决方案.而这个解决方案恰恰是其它软件工程方法学中所没有的. 由于自己长时间都习惯了一个人编程,所以在这次结对编程的初期在做项目的

什么时候该采用结对编程

结对编程是构建软件系统的一种有效方法.采用结对编程,带来的显著效益: l  更好的想法--持续不断的头脑风暴.更大的知识库.在理解上有更少的差异.有更多的脑力解决设计问题: l  更好的质量--更少的漏洞.想法的即时认证.始终如一的方法并更加遵守团队会议中的要求: l  更全面的认识--经验共享与知识共享.对于为什么做.怎么做和做什么有更深入的理解: l  更高的生产率--更好地集中精力及更高的工作强度.彼此促进并激励来达到最好的结果.更少的拖延和时间浪费: l  更多乐趣--大多数人喜欢分小组

结对项目进展二

经过这一周的结对编程工作,我们的项目取得了很大进展.我进一步体会到了结对编程的优势和劣势.优势是两人合作得当可以提高debug的效率.在队友的帮助下,我可以更快地理清思路,发现我的代码中的错误.提高效率.但是我们在交流一些深入的问题的时候,也要花费额外的时间,这也是劣势所在. 由于我们之前的程序模块划分不是很明确,不符合软件工程中“高内聚,低耦合”的思想,不便于跨平台.这次我们仔细分析了程序的结构,把功能划分成几个独立的模块,封装在类中,模块之间通过接口交换信息. 1.界面类(基于QT中的Mai

结对编程的优劣

结对编程项目,优化四则运算程序. 我的结对编程伙伴是白斌,我们在本周进行了结对编程并有所进展,也使我对于结对编程有了一些感触. 我认为结对编程既有好处也有不足之处.好处在于编程的同时就在复审,降低了出错的概率,提高代码质量,两人合作能有更强的解决问题的能力.比如在我们结对编程的过程中,我在写随机生成负号的程序里,一个if语句中少打了一个括号,使得负号无法正确生成,是白斌发现了这一点,使我及时改正了这个错误.如果是我一个人编程的话,我可能要花出几倍的时间来发现这个错误,结对编程时我的partner

关于结对编程

和小伙伴结对编程之后体会到了这些: 结对编程的优点: 程序员互相帮助,互相教对方,可以得到能力上的互补. 可以让编程环境有效地贯彻Design. 增强代码和产品质量,并有效的减少BUG. 降低学习成本.一边编程,一边共享知识和经验,有效地在实践中进行学习. 在编程中,相互讨论,可能更快更有效地解决问题. 当然,结队编程也会有一些不好的地方: 对于有不同习惯的编程人员,可以在起工作会产生麻烦,甚至矛盾. 有时候,程序员们会对一个问题各执己见(代码风格可能会是引发技术人员口水战的地方),争吵不休,反

结对编程——黄金点小游戏的设计与实现

个人感想 最近总是很纠结,关于如何平衡考研时间和学校课程时间,还有关于考研资料的选择.就是在这样一种状态下,我迎来了结对编程项目,两个人共同编程完成一个小游戏,说实话,刚开始时我对这个项目不怎么感兴趣,我总觉得应该把时间都放在考研上.还有一个原因就是,我觉得自己什么都不会,肯定会拖累队友,但是经过我们多次沟通后,我发现这个小游戏没有我想象中的那么难,而且我逐渐有点兴趣了,再加上和队友的多次沟通,我觉得结对编程是一件很有意思的事,两个人提出不同的想法然后讨论,再接着看着自己的想法都能慢慢的实现出来

结对编程收获

这次结对编程真的是一次很锻炼人的经历,过程中充满了波折,最终也有不少收获,下面就从具体技术和一般开发经验两个方面谈谈我这次的收获. 具体技术上,这次采用的是Qt与C++,我曾经有过一些Qt经验,但只是自己写着玩玩,代码都不长.这次写Qt我最大的感受是,想成为一个入门的程序员,第一件事就是要懂得如何简明扼要地描述自己遇到的问题或者需要的技术,扔到百度上搜索,找到合适的解答.更成熟一点的程序员还要能用英语描述自己的问题并扔到 google 上找答案.在这个时代,技术总是不断更新的,作为程序员一定要培

20172316 结对编程-四则运算 第一周 阶段总结

20172316 结对编程-四则运算 第一周 阶段总结 1.项目内容 以结对小组形式编写代码,实现以下功能: 1.自动生成题目 可独立使用(能实现自己编写测试类单独生成题目的功能) 可生成不同等级题目,类似于: 1级题目:2 + 5 = 10 - 5 = 之类的两个数,一个运算符的题目 2.题目运算(判题) 可独立使用 实现中缀表达式转为后缀表达式并计算 判断用户答题正误,并输出正确结果 3.支持真分数 可独立使用 实现分数算式的计算 4.题目去重(扩展需求,加分项) 可独立使用 实现对自动生成

实验二:结对编程 第一阶段

一.实验目标: 1)体验敏捷开发中的两人合作. 2)进一步提高个人编程技巧与实践. 二 .实验内容: 1)根据以下问题描述,练习结对编程(pair programming)实践: 2)要求学生两人一组,自由组合.每组使用一台计算机,二人共同编码,完成实验要求. 3)要求在结对编程工作期间,两人的角色至少切换 4 次: 4)编程语言不限,版本不限.建议使用 Python 或 JAVA 进行编程. 三.问题描述 四则运算:开发一个自动生成小学四则运算题目的命令行 “软件”.实现 输入你要出题的个数,