结对对象:徐劭斌
要求1 参考《构建之法》第4章两人合作,结对编程上述功能,要求每人发布随笔1篇 (代码是共同完成的,博客是分别完成的)。 (1) 给出每个功能的重点、难点、编程收获。(2)给出结对编程的体会,以及 (3) 至少5项在编码、争论、复审等活动中花费时间较长,给你较大收获的事件。 (10分)
(1)功能一 四则运算
重点:题目的生成,题目的计算,满足输入输出格式
难点:对异常题目的处理
首先随机生成四个数字并随机选择三个运算符,其中这里最初考虑的是为了防止除法除不尽或除以零的问题,将除数限定在1,2,4,5,8,但是在完成后面的功能后这一限定已经不需要了。
1 for (i = 0; i < nn; i++) 2 { 3 num[0] = rd.Next(0, 10); 4 num[1] = rd.Next(0, 10); 5 num[2] = rd.Next(0, 10); 6 num[3] = rd.Next(0, 10); //随机生成四个数 7 for (j = 0; j < 3; j++) 8 { 9 int n = rd.Next(0, 4); 10 charnum[j] = n; 11 if (n == 3) //如果有除法,出发后面的数字在1,2,4,5,8里面选择。 12 { 13 int[] divisor = { 1, 2, 4, 5, 8 }; 14 Random rd1 = new Random(); 15 num[j + 1] = divisor[rd1.Next(0, 5)]; 16 } 17 }