一、实验目标
1)体验敏捷开发中的两人合作。
2)进一步提高个人编程技巧与实践。
二 、实验内容
1)根据以下问题描述,练习结对编程(pair programming)实践;
2)要求学生两人一组,自由组合。每组使用一台计算机,二人共同编码,完成实验要求。
3)要求在结对编程工作期间,两人的角色至少切换 4 次;
4)编程语言不限,版本不限。建议使用 Python 或 JAVA 进行编程。
代码规范
1)我们用的是c++语言,主函数使用int main(),为了规范最后有return 0语句;
2)头文件有#include
3)在一些必要的地方加上一些注释,加强代码的可读性;
5)虽然c++对缩进不像python那样严格,但是为了代码的可阅读性,我们也严格进行代码缩进。
程序的总体设计
因题目较简单,我们仅用了主函数即可完成题目。主函数里含有三个模块,第一个模块产生随机数参与运算和随机选择运算;
第二个模块判断用户输入的答案是否正确并且判断是否还有答题机会(共有三次);
第三个模块计算分数,第一次答对加10分,第二次答对加7分,第三次答对加5分。
程序结对编程过程及功能实现情况
主体框架和计算分数模块由我来编写,加法运算和不超过100、减法运算差不为负数等要求以及答题机会模块由王杰编写。由于c++用的不多,有时语法会忘记,我们会互相询问。
2)使用rand()函数产生随机数num1,num2参与运算和用来选择运算的变量n;
3)使用switch()函数随机选择运算,(case 0:)n=0时进行加法运算,首先确保num1+num2不大于100,然后输出题目供用户计算,最后使用break语句;(case 1:)n=1时进行减法运算,首先确保num1-num2不为负数,然后输出题目供用户计算,最后使用break语句;(case 2:)n=2时进行乘法运算,首先确保num1*num2不大于100,然后输出题目供用户计算,最后使用break语句;(default:)n=3时进行除法运算,首先确保除数不为0,并且必须整除,然后输出题目供用户计算,最后使用break语句。
4)使用do-while()函数判断用户输入答案是否正确,以及计算是否还有答题机会
5)使用switch()函数判断答题次数,第一次答对,加10分,第二次答对,加7分,第三次答对,加5分
项目github地址
https://github.com/Leo-wj123/my-travel-plans
实验总结
此次实验内容不算困难,困难的是第一次使用github托管项目,所幸上次实验已经使用过git,对于git的操作也没有那么陌生了,主要就是使用git将文件上传到github,刚进行实验的时候上传文件总是出现一些小的错误,并且还不知道应该怎么改正,但是做完实验以后就真正明白道理了,此次实验让我对github托管项目,以及fork别人的项目,最后pull requests的过程有了充分的认识。此次实验的结对编程使我对编程的世界又有了更多的向往与认知,编程很有意思,随着学习的深入也使我明白了世界有多大,有多少牛人创造了多少为世界做贡献的软件,没有这些软件我们编程者将很难这么快速地进行编程,希望以后我也能尽到一份力!