寒假作业三

合作者

林世杰 031602421 http://www.cnblogs.com/q1076452761

/

李翔 031602418 http://www.cnblogs.com/031602418matt

/

设计思路

这一次的要求是写出一个能随机生成四则运算程序提供给别人进行测试,并且能够判断出计算的结果,并反馈一些数据。问题的解决最终可以分为几个部分:1.随机生成题目;2.计算生成的题目并判断结果是否正确;3.中英文界面,最终反馈的正确,错误的题目,正确率的一些其他改进的问题。
对于随机生成的部分,主要是利用rand和srand函数,生成数字,符号和括号的类型。数字生成很简单,括号的生成要考虑不同的情况,符号的生成也是比较复杂的,因为要考虑数学意义等实际问题。当这些问题都解决了,结果又出现了更棘手的问题:怎么计算这些算式的值呢?一开始我们的想法就是很简单的用switch 和 if 语句来实现也尝试过其中一种括号的情况,然而比我们想象的要复杂许多,意味这样我们总共要书写644*4总情况,这样下来是根本行不通的。后来经过一些查找,在网站上找到一些关于表达式计算的方法,也就是利用栈,设置一个数据栈和运算符栈来进行答案的计算。通过对运算符优先级的判断,然进行两数之间主意计算,最终得到相关结果。具体内容在代码中体现。最后就是中英文界面的优化,等等这些方面就相对比较简单了,利用按照输入的不同实现中文与英文的输出。

制定的编码规范

1.标准化的书写,包括缩进,括号等,尽量保证书写直观,美观
2.使用的变量名命名最好能看出其的用途,或者有注释解释
3.写的每一部分最好都要有注释解释用途和实现方式
4.每个函数最好只实现一个功能
5.若要是有不清楚的地方要及时提出交流

程序实现和结果测试的截图

最终版2.0 :

英文:

1092267-20170217135543629-213624622.png

中文

1092267-20170217135558160-434492199.png

3.0版本:

英文

1092267-20170217140209863-74478505.png

中文

1092267-20170217140226566-73900660.png

github链接

李翔的github
我的github
在连接中,有许多版本,最终以 最终版2.0 和 3.0 为准的两种不同输出方式代码。

分工协作的截图

1092267-20170217140318207-443029196.png

1092267-20170217140330300-1850168338.png

交流截图

1092267-20170217140517613-1893030379.png

1092267-20170217140542582-1112485890.png

1092267-20170217140604113-1099344160.png

1092267-20170217140617160-1781003523.png

1092267-20170217140623504-2059424693.png

合作过程的差异

起初,我们想法很简单,直接强撸,然而我试着计算一种情况的结果,发现这样代码变得非常庞大,出错的情况非常大,根本不够实际,然后经过一些大佬指点,说有个表达式的计算,于是就去查找了一下,要用到栈,一开始就非常懵逼了,不过还是坚持下去,尽量去把它看懂,但是现在还是懵懂状态,似懂非懂,就了解了一些栈命令。然后理解了一些运算优先级,最后有点懒了,就把一些中英文部分交给李翔了,还有github的创建,对于github还不是很熟,基本是用qq联系,然后修改的。

感想

和队友合作我感觉很愉快,我们可以互相交流编程思想,有时候自己很容易在一个地方卡壳,然后经过队友一些不同方向的想法,就很容易把一些问题解决了。合作可以产生更多的灵感吧,会产生更多的想法。

转载于:https://www.cnblogs.com/q1076452761/p/6409619.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值