一 实验目标
1)体验敏捷开发中的两人合作。
2)进一步提高个人编程技巧与实践。
二 实验内容
1)根据以下问题描述,练习结对编程(pair programming)实践;
2)要求学生两人一组,自由组合。每组使用一台计算机,二人共同编码,完成实验要求。
3)要求在结对编程工作期间,两人的角色至少切换 4 次;
4)编程语言不限,版本不限。建议使用 Python 或 JAVA 进行编程。
三 需求分析
1)能够自动出题
2)包含“+,—,*,/,()” 的四则运算。
3)能够自定义出题目的数量
4)能确定所有题目的数值在初始的规定范围之中。
5)能够判别答案的正确与否
6)能根据所答情况打分
四 实验过程
1)所使用的编程工具
本次实验主要使用了 Visual C++ 作为编程工具。
2)代码规范
在实验过程中,要遵循最基本的代码输入规范,并且要尽量使代码精简,看起来十分美观。
代码的书写一般要对齐,并且缩进也要遵循规范,不能没有缩进,那样会使代码整体看起来不美观,给人一种十分凌乱的感觉。
其次就是对于注释的使用,注释对于我们看懂自己或他人的代码有着很大的帮助,但是注释不宜过多,只需要在关键的地方给出即可。
对于换行与空格符号的使用应该根据代码的本身来运用。
3)程序的总体设计
本次编写的程序为简单的四则运算,包含+.-*./,但是对于数的范围和取值有着一定的要求。
使用代码表示,首先要定义变量,其中有sun ,num1,num2,i,j等几个主要使用的变量,对于所使用的变量要定义其类型,方便后面的使用。
主要程序的设计,主要程序应该满足使用的要求,能在规定的范围内产生随机数,并且在后面产生的四则运算式子要同时满足数学运算
法则,最简单的如0不能作为被除数等等,并且要有判断功能。输入输出功能。
4)流程图
5)结对编程的过程
与组队伙伴的沟通以及在编程过程中的角色互换
6)系统功能的实现
实验代码如下
#include "iostream" #include#include #include using namespace std; int main() { system("color 71"); cout< >Ques1; Ques01=floor(Ques1); // cout<<"请输入每行打印题目数(1-5):"; // cin>>Ques2; cout<<" 二.请输入算式中数值的最大值:"; cin>>Ques3; cout<<"`````````````````````````````````````````````````````````````````````````"< >Ques1; Ques01=floor(Ques1); } else { for(int j=0; j >ans; if(ans==num1+num2) { cout<<"正确"< >ans; if(ans==num1-num2) { cout<<"正确"< num2) { cout< >ans; if(ans==num1-num2) { cout<<"正确"< >ans; if(ans==num2-num1) { cout<<"正确"< >ans; if(ans==num1*num2) { cout<<"正确"< >ans; if(ans==(float)num3/(float)num1) { cout<<"正确"< >Ques6; if(Ques6=='y') { goto Again; } if(Ques6=='n') { goto Exit; } else { cout<<"输入有误,请重新输入:"; } } Exit: return
7)项目github地址
https://github.com/zghzy123456789/my-travel-plans
8)实验小结
在本次结对编程实验过程中,由于自己的时间安排问题和电脑问题,导致拖累了队友的进度,但是
队友还是十分的耐心,而且在整个过程中,由于对于c++语言的遗忘,在编程过程中遇到了很多困难,
但是队友愿意积极沟通,并且愿意给我详细的讲解,令我十分感动,同时也明白了自己的缺陷,结对
编程最重要的就是沟通。在以后的学习中,要尽量的将之前落下的知识捡起来。