寒假作业3(传说中的写软件)
相同部分
1)两位合作者的学号和对应的博客主链接
赵畅:111500206 http://www.cnblogs.com/ZCplayground/
胡绪佩:031602114 http://www.cnblogs.com/heihuifei/
2)描述实现设计思路
首先一拿到这次作业的时候,目的大致分为两块
a.随机生成一个四则运算表达式(即运算数以及运算符都要是随机的)提供给用户填写答案。
b.将生成的随机表达式(运算式)计算出结果,核对用户填写的答案。
根据这两个大的分块思路,我们将题目分块化处理编写,程序大的模块分为,题目模块,外部函数,主函数三个。(因为这次的作业我们是合作完成,而我的搭档是一位经验较丰富的大哥,所以很多大致的思路是大哥一开始提出来给予我引导的)下面是实现设计过程中的一些技术性难点
- 生成随机数:显然这个是以前很少接触的一个知识点(对我来说),得靠自学的,而在自学自用的时候肯定就会发现问题:会出现伪随机和真随机的区别。也就是时间种子方面的修改(这个我只是明白,但是自己还没有对其种子修改,但是之后会加入弥补的计划里)
- 如何存储并显示运算表达式,如果试过的就会发现用数组是很麻烦的,因此我们采用了用string类来存储表达式。
在表达式中出现数字10的特殊情况以及括号的添加(如果用数组)
- 在表达式中运算符出现除号要考虑被除数不能为0的情况(包括括号内两个数之间以及括号外两个括号值之间)
结果或者是中途出现不能除尽,值为分数的情况要排除。
将表达式(中缀表达式)(我们的思路它是一个字符串)计算出结果(这里头我们用的方法为逆波兰表示法,其中就要用到栈的知识)
这是我的笔中的一块截图。
我们团队的编码规范已经放在GitHub(Coding Standards)上,其中一开始我对于这个编码规范是不是很懂意思的,后来畅畅给了我很多指导,我也主要修改完成我们的编码规范,让我从中学到了很多,我们的代码规范订制方式是通过网上找了一篇比较齐全的代码规范,然后对其进行大规模改动,最后成为我们的代码规范。
下面简单的举几个学到的我认为帮助很大的点:
- if、for、do、while、case、switch、default等语句自占一行,且if、for、do、while等语句的执行语句部分无论多少都要加括号{}。
- 程序必须具有一定的注释,便于对程序的理解。注释需要简介明了准确,不然有可能起反作用。一定要边写代码边注释(尤其本次作业中的一次长时间我和畅大哥的远程演示分享一起debug的过程,让我体会更深了)
- 标识符命名原则。变量:采取小驼峰法(即除第一个单词不用大写,其他单词开头都要大写),函数名、类名:采取大驼峰法(所有单词开头字母都要大写),数组名:采取小驼峰法,并且用下划线分隔单词。
- 操作符+,=,以及逗号等等后面要加空格,方便阅读。
4)程序实现和结果测试的截图:
//这是我做我的模块的时候的一张截图。
//这是最开始畅畅大哥安排我先学习一些准备知识的时候,//我单独自己尝试的运行截图
//这是我们的程序最后成功运行的中英文界面截图。
5)GitHub上提交的链接和提交日志截图
因为这次的作业我们团队是以我的搭档为主心骨共同合作的,我提交的是在我们的开发分支dev上,最后畅畅提交到master分支。
本次作业的GitHub链接
6)本次作业的分工以及证据截图
本次作业的分工,前面也有说我的搭档是一位经验较丰富的大哥,所以以他为主心骨。我负责了ExtendFunction.h的大部分内容以及我们的代码规范doc文件的大部分,最后畅畅大哥帮我检查润色修改了一些。畅畅负责的是几个这次作业的难点,main.cpp,Expression.h,stack.h三个部分(并非我就是什么都不管的,同时我是在学习这些知识点的,最后才能和畅畅大哥的模块接好口,有很多是畅畅大哥督促建议我学习的,收获可很多)
对于证据截图,看我们的组合,大家应该可以猜到,差距是比较大的,所以在一开始的时候大哥就安排我事先学习一些知识点,最后再协作完成这次作业。而在我们学习合作的过程中,基本上每天我们都会联系一个小时以上(首先了解对方当天做的事情,然后我会问一些当天学习遇到的疑问看畅畅大哥能否帮忙解答)。
最后有一天晚上我们奇迹般的远程演示联系了3个多小时,当天我们一起debug了好久,最后终于把整个程序大致整理好了,我们都很开心,后面就发布了传说中预览版哈哈。下面这几张图可以给大家欣赏一下:
当天晚上我们就都是4点钟才睡的。
差异部分
1)合作过程:
我和畅畅大哥一起合作的之后,一开始我有很多知识点是比较弱的,大哥就先安排我学习了一些十分重要的知识,仅仅就是那份那份代码规范也让我收获很大(代码规范合作体会)。最后我也成功的实现了和畅畅大哥的程序模块对接,这个过程中,收获是难以形容的,尤为重要的有,题目模块化,函数细分到最简单,debug一定要坚持,遇到问题最好以自学自查的方式解决。最后我们在15号下午发布了该程序的最终版本!
合作体会:
积极参与思考,工作。
每次的合作都必须以合作者的身份积极加入思考,参与工作,才能做出最好的合作结果并且收获到最多。就说这次的作业,我其实参与或是不参与影响不是吧很大的,但是首先这是一个团队作业,合作过程,我必须积极参与,另外我要想学习到很多,收获很多就必须积极参与,我觉得这次我做的还没有很好,但是也收获了很多,有了很大的进步。- 好的搭档。我想每次的合作团队都是要每个成员都有积极性,有责任心,并且有各自的优点。就比如说这次我的搭档畅畅,我觉得是一位非常好的大佬及搭档,积极性高,i经验丰富,而且乐于帮助我这个渣搭档。
- 平时编码的细节注意点,就比如说这次的编码规范中的很多东西是要在平时就养成习惯的,再合作的过程中这个很重要的,因为要方便对接。
善于学习,这次作业的完成过程中,有很多需要自己自学自查自用的东西,只有善于学习,才能做好自己的任务,实现更好的合作。
我认为本次作业的我们还有一些没做到位的点:
Github上我们的协作编码的pull与clone这些一开始没有很熟,所以就忽略了,后面才注意用到Github上有这些十分方便的功能。
没有实现附加分的真分式的运算。
转载于:https://www.cnblogs.com/heihuifei/p/6405398.html
寒假作业3(传说中的写软件)相关推荐
- 你,的寒假作业写多少了?
大家好,我是雄雄,欢迎关注公众号[雄雄的小课堂]. 一晃寒假已过10多天,亲爱的同学们,你的寒假作业写多少了?是一点都没动呢还是多少动了点了? 昨天晚上在3班的群里发了几套课程,刚发就有几位同学问我关 ...
- 中专计算机寒假作业,中职计算机寒假作业[优质课资]
<中职计算机寒假作业[优质课资]>由会员分享,可在线阅读,更多相关<中职计算机寒假作业[优质课资](3页珍藏版)>请在人人文库网上搜索. 1.二(1)班计算机寒假作业请学生将下 ...
- 2017寒假第一篇随笔(寒假作业一)
在人生技能道路上,你有没有专长的高超技能获取的成功经验? 在高中时没有过多的兴趣爱好,只是喜欢在闲暇之余看一集美剧,长时间处于美式英语的"熏陶"之下,自然对英语产生了浓厚的兴趣,在 ...
- 计算正方形面积和周长_寒假作业:长方形、正方形周长面积应用题,附答案
相信不少小朋友已经完成寒假作业了,在完成寒假作业的时候,你遇到了哪些问题呢? 三四年级的小朋友可能会遇到倍数关系.长方形.正方形周长和面积的问题,大部分的小朋友是无法理解题意导致的错误.在做方形的周长 ...
- 寒假作业3:抓老鼠啊~亏了还是赚了?
#寒假作业3:抓老鼠啊~亏了还是赚了? 7-1 抓老鼠啊~亏了还是赚了? 某地老鼠成灾,现悬赏抓老鼠,每抓到一只奖励10元,于是开始跟老鼠斗智斗勇:每天在墙角可选择以下三个操作:放置一个带有一块奶酪的 ...
- 寒假作业2:币值转换
寒假作业2:币值转换 #寒假作业2:币值转换 7-1 币值转换 (20 分) 输入一个整数(位数不超过9位)代表一个人民币值(单位为元),请转换成财务要求的大写中文格式.如23108元,转换后变成&q ...
- [转载]高一语文必修一寒假作业二
[转载]高一语文必修一寒假作业二 2012年01月15日 高一语文必修一寒假作业二 一.(每小题3分,共15分) 1.下列加黑字读音全部正确的一项是() A.岑(cén)寂 勾(gōu)当 蕴藉(jí ...
- c语言寒假作业班干选举系统,寒假作业1
这个作业属于哪个课程2020面向对象程序设计张栋班 这个作业要求在哪里 面向对象程序设计寒假作业1 这个作业的目标 对c语言与c++的思考,安装开发环境,了解编译的过程,学习文字的编程,通过思考与学习 ...
- 计算机基础应用寒假作业,计算机应用基础理论试题寒假作业.doc
计算机应用基础理论试题寒假作业.doc (9页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.9 积分 潜江市职业教育中心<计算机基础知识> ...
最新文章
- 这个登上Nature封面的「群体学习」,无需中央协调员,比联邦学习更优秀
- 【Jenkins系列1】Jenkins定时任务设置
- 030_jdbc-mysql事务
- php 单选按钮选中的值,在javascript中根据单选按钮选择更改变量值
- 【线上分享】超分辨技术在RTC领域面临的机遇与挑战
- 以太网供电技术/有源以太网技术POE简单介绍
- 收藏表数据库_选择您的收藏库
- tablix“Tablix1”有一个具有内部成员的详细信息成员
- 怎样用 Python 控制图片人物动起来?一文就能 Get!
- 爱奇艺回应遭做空;百度 App 部分频道停更;React Native 0.62 发布 | 极客头条
- mysql 索引 insert_mysql优化:定期删数据 + 批量insert + 字符串加索引为什么很傻
- 12.docker inspect
- 有java基础学python-零基础应该选择学习 java、php、前端 还是 python?
- 单片机c语言中void key(void),单片机C语言编程
- 定积分证明题例题_一个广义积分不等式证明(送给数学分析同学)
- 硅谷华人码农成语大全
- react-native打包Android apk
- div 左中右结构布局问题
- 在国企的 Java 程序员是一种什么样的体验?让我来告诉你吧!
- 【开源库分享】雷电模拟器自动化操作库 C#版本
热门文章
- dojo + jersey 上传图片到数据库
- schedule调用相关整理
- 路由协议之间的经典对比
- css网页favicon_自用代码css获取任意网址的/favicon.ico的方法教程
- mpvue返回上一个页面_服务器出现404页面是什么情况了
- 使用ip rule查询路由策略, 使用ip route修改静态路由表
- Ubuntu Server 16.04.x进入中文安装界面无法安装busybox-initramfs
- mysql——event定时任务
- shared_ptr四宗罪
- java 动态给属性赋值_java中为实体对象的动态属性赋值