GIT地址 | https://github.com/xsq1999 |
GIT用户名 | xsq1999 |
学号后五位 | 62619 |
博客地址 | https://www.cnblogs.com/xsq1999/ |
作业链接 | https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass2/homework/2795 |
博客内容:
- 请以博客记录的方式,体现环境配置过程(包括遇到了哪些问题,你是如何解决的)
在官网下载安装(上学期下载的,无截图)
- 体现你代码设计的思路(注意:请保证代码能够运行通过)
第一步:生成随机算式
通过数组生成随机数字个数(符号个数就是数字数减一)和随机数字,因为没有固定所以用的是3-8个随机数 随机数大小10-100)、随机符号,最后合成符号和数字为一个算式
第二步:计算算式的值
因为有数字和符号同时是按照顺序排列的所以用栈的知识来完成代码
1.将数字和符号分离放入双栈中
2.考虑到优先级问题所以将乘法和除法(这里的除法在计算时候出现了一些小问题,出栈的数应该为除数,排查时候花了很久才排查出来)优先计算出来,符号栈检测到乘除,将前面入栈的数字出栈计算得出结果,再将结果入栈,符号栈只入加减
3.因为int型数会生成除数为零所以将数字类型定义为double型
4.出栈时计算先出符号栈,检查加减,为加加出栈数,为减加出栈数相反数(如果直接加减也会出现优先级问题,血泪控诉...),最后算出结果
第三步:功能模块化
将功能模块化成随机数,随机符号,合成,表达式,计算 几个类
- 记录你使用github克隆项目以及提交代码的整个过程(包括遇到的问题,你是如何解决的)
刚开始是注册GitHub时验证就出现了问题(错误来得太快就像龙卷风),后来配置了浏览器的JavaScript之后完成验证成功注册
然后就是克隆项目再次出现问题...(小问题)再次克隆就成功了
之后将Java转化成c++文件,中间没有进入对应文件夹,没有转化成功
最后修改第一行的头文件运行成功
参考方法
输入:
git remote add origin https://github.com/xsq1999/xsq1999.git.
git branch fz1
git checkout fz1
git push origin fz1
- 记录你对项目进行单元测试和回归测试的过程(包括你遇到的问题,解决的方法是什么)
单元测试:
单元测试没有问题,代码成功运行
效能测试:
你对本次工具的熟悉过程,有什么感想?分享你学习到的新知识
实际上这次花最多时间的不是测试方面而是在于代码的编写上面,可以说代码花费了百分之九十五的时间,而测试的时间只有很短一段时间,所以会没有很好的体会到测试的重要性,都是自己在用代码测试代码。不过这个作业对于我的提升是比较大的,在学习了数据结构之后我们很少有机会去实践知识,而这个项目刚好能用到我学的比较薄弱的栈的知识,通过各种查阅资料,以及自己的一些计算方法,完成了代码的实现,可以说非常不容易了(对于我来说),这次作业不但感觉到了工具的强大而且学到了测试方法和git以及巩固了数据结构知识,收获巨大!