结对编程
一、题目要求
本次作业要求两个人合作完成,驾驶员和导航员角色自定,鼓励大家在工作期间角色随时互换,这里会布置两个题目,请各组成员根据自己的爱好任选一题。我们所选择的是题目一。
- 能够自动生成四则运算练习题
- 可以定制题目数量
- 用户可以选择运算符
- 用户设置最大数(如十以内、百以内等)
-用户选择是否有括号、是否有小数 - 用户选择输出方式(如输出到文件、打印机等)
- 最好能提供图形用户界面(根据自己能力选做,以完成上述功能为主)
二、人员组成及角色分配
三、功能实现
- 设置四则运算生成器模式
void SetNum()//定制题目数量
{
printf("输入题目数量
");
scanf("%d",&num);
}
void SetMul()//选择是否有乘除法
{
printf("是否有乘除法,是为1,否为0
");
scanf("%d",&mul);
if(mul==1)
mul=4;
else mul=2;
}
void SetMax()//用户设置最大数
{
printf("输入最大数
");
scanf("%d",&maximum);
}
void SetBrackets()//设置是否有括号
{
printf("是否有括号,是为1,否为0
");
scanf("%d",&brackets);
}
void SetDecimal()//设置是否有小数
{
printf("是否有小数,是为1,否为0
");
scanf("%d",&decimal);
}
void SetIfprint()//设置是否打印
{
printf("是否打印,是为1,存入文件为0,以回车结束
");
scanf("%d",&ifprint);
}
- 生成面板
void Panel()//生成面板
{
printf("1.题目数量 当前:%d
",num);
printf("2.设置是否有乘除法 当前:");
if(mul==2)
printf("否");
else
printf("是");
printf("
");
printf("3.最大数 当前:%d
",maximum);
printf("4.设置是否有括号 当前:");
if(brackets==0)
printf("否");
else
printf("是");
printf("
");
printf("5.是否有小数 当前:");
if(decimal==0)
printf("否");
else
printf("是");
printf("
");
printf("6.是否打印 当前:");
if(ifprint==0)
printf("否");
else
printf("是");
printf("
");
printf("7.显示题目
");
printf("8.退出
");
}
- 生成题目
void SetCreat()//生成打印题目
{
fp=fopen("data.txt","w");
for(int i=0; i<num; i++)
{
forebracket();
inttostr(rand()%maximum+1);
Adddecimal();
for(int j=0; j<rand()%3+2; j++)
{
chartostr(Symbol[rand()%mul]);
forebracket();
inttostr(rand()%maximum+1);
Adddecimal();
backbracket();
}
if(probrackets==1)
chartostr(')');
chartostr('=');
chartostr('
');
chartostr(' ');
probrackets=0;
if(ifprint==1)
printf("%s
",str);
if(ifprint==0)
fputs(str,fp);
I=0;
}
if(ifprint==0)
printf("已存入文件
");
}
四、测试
下面只给出一个测试样例,具体请看导航员博客。
五、评价与心得体会、合作照片
- 评价与心得体会
第二次结对编程实验是由我和领航员合作完成的。在本次实验中,我担任了驾驶员,我的队友担当了领航员角色,辅助我进行了代码的编写。在编写过程中的过程中我们一起讨论了随机数,括号插入等一系列问题。在讨论的过程中我们对于程序算法,以及实现有了更加深层次的认知并付诸以实践。吴东翰在进行代码测试及改进的过程中给我了很大的帮助,在解决问题过程中,驾驶员可以经常以另外一个角度思考协助我解决问题。在进行测试的过程中,我们从多角度,对我们的程序进行了测试并改进了相关问题。在代码的编写过程中,由于很长时间时间没进行代码的编写,编写的很生疏。而且并没有完成图形界面的题目要求,深感不足,以后应加强学习争取早日迎头赶上,弥补不足。这次的结对作业的过程中,最重要的是让我学到了与人合作编程的好处与方法,为以后更多的合作项目打下了良好的基础。 - 合作照片