软件工程结对编程第二次作业

一、题目描述
  我们在刚开始上课的时候介绍过一个小学四则运算自动生成程序的例子,请实现它,要求:
  能够自动生成四则运算练习题
  可以定制题目数量
  用户可以选择运算符
  用户设置最大数(如十以内、百以内等)
  用户选择是否有括号、是否有小数
  用户选择输出方式(如输出到文件、打印机等)
  最好能提供图形用户界面(根据自己能力选做,以完成上述功能为主)
二、角色分配
驾驶员:徐子健,主要负责编写代码。
领航员:王文博,主要负责代码审核,并辅助驾驶员。
三、设计方案
[conding地址]:(https://git.dev.tencent.com/dtid_b9d45a3fda189455/jieduibianchengdiercizuoye.git)
我把需要实现的功能写在子函数里,并在主函数里调用它

主函数如下:
int main()
{
ofile.open("E:\xzj.txt");
int number;
int a, b, c, d, sum, i, l, j, x,k;
cout << "请输入需要生成题目的数量" << ' ';
cin >> number;
cout << "是否包含加法,是请输入1" << ' ';
cin >> a;
if (a == 1)
{
Add = 1;
}
cout << "是否包含减法,是请输入1" << ' ';
cin >> b;
if (b == 1)
{
sub = 1;
}
cout << "是否包含乘法,是请输入1" << ' ';
cin >> c;
if (c == 1)
{
mul = 1;
}
cout << "是否包含除法,是请输入1" << ' ';
cin >> d;
if (d == 1)
{
division = 1;
}
cout << "随机数最大数值" << endl;
cin >> l;
cout << "是否包含括号,是请输入1" << ' ';
cin >> j;
cout << "是否包含浮点数,是请输入1" << ' ';
cin >> x;
cout << "是否输出到文件,是请输出1" << ' ';
cin >> k;
if (j == 1)
{
parentheses = 1;
}
if (x == 1)
{
FloatingpointNumbers = 1;
}
sum = Generationofarray(Add, sub, mul, division);
if (l <= 101)
{
arithmetic(number, sum, 101);
}
ofile.close();
return 0;
}
四、运行结果


五、实验总结
这是我们的第二次结对编程作业,相对于上一次来说,两个人的配合更加好了,也让我对合作编程有了更深的体会。在我与王文博同学的讨论后,决定由我担任驾驶员,他担任领航员。我的同伴对我的帮助很大,因为在本次实验中,我有许多的不足之处,比如前几个功能比较简单,让我有些懈怠,在遇到括号的增减时,我的程序结果总是出现错误,在我的领航员的指导下解决了这个问题,不过由于我个人实力的不足,无法将图形化界面做出来,在查阅了资料后尝试过写界面,不过做出的界面无法实现所需要的功能,在我和领航员的商量下,因为时间的原因决定不做这个功能,我对此也感到很遗憾,如果自己能有紧迫感,不在最后的时间在做程序,相信一定会完成所需要的功能,不过在这次的结对编程中,我也发现了我的领航员的许多优点,比如他是一个很有耐心的人,在我反复调试程序不成功后,情绪变得很差,他在这个时候接替了我的工作,还在鼓励我继续完成代码,很感谢他对我的帮助。虽然在这次的作业中驾驶员做了主要的工作,但是拥有一个认真负责,乐观向上,积极努力的优秀领航员对我的工作有很大的改善,也减轻了我的负担。通过这次的配合,让我体验到和别人一起工作的乐趣,在两个人合作的过程中也加强了我的编程能力,在对问题的分析、处理和解决的过程中,也加强了我与他人的沟通能力,希望我和我的领航员能够一起奋发努力,在以后的学习生活中能取得更好的成绩。

posted @ 2019-05-06 19:51  YELLOWCARD  阅读(159)  评论(0编辑  收藏  举报