20194663 自动生成四则运算题第一版报告(第二次作业)

一、需求分析

老师让家长每天出10道100以内的四则运算发的题,给孩子做。想通过一个小程序来做这件事。

(1)自动生成10道100以内的2个操作数的四则运算算式(+ - *  /),要求运算结果也在100以内

(2)剔除重复算式。  2 + 3 =    和  2 + 3 =     是重复算式      2 + 3 =   和   3 + 2 =  不属于重复算式

(3)题目数量可定制

(4)相关参数可控制

          是否包含乘法和除法

          操作数数值范围可控(如操作数 在100以内   还是1000以内)

          操作数是否含负数    

  (5)生成的运算题存储到外部文件result.txt中

二、功能设计

1、基本功能

(1)自动生成10道100以内的2个操作数的四则运算算式(+ - *  /),要求运算结果也在100以内

(2)剔除重复算式。  2 + 3 =    和  2 + 3 =     是重复算式      2 + 3 =   和   3 + 2 =  不属于重复算式

(3)题目数量可定制

(4)相关参数可控制

          是否包含乘法和除法

          操作数数值范围可控(如操作数 在100以内   还是1000以内)

          操作数是否含负数    

  (5)生成的运算题存储到外部文件result.txt中

2、扩展功能

(1)可对做题情况打分

(2)可以指出做错的题目编号,并给出正确答案

 三、 设计实现

设计只用了一个类、一个主方法。所有的功能都在主方法里编写。

四、测试运行

五、

实现加减乘除四则运算,并且记录对错的数量,做错的题给出正确答案

<p>switch (oper) {<br /> case 0:<br /> {<br /> System.out.print(i + 1 + ". " + first + "+" + last + "=");<br /> result1 = input.nextInt();<br /> result2 = first + last;<br /> if(first+last&gt;100)<br /> break;<br /> if (result1 == result2)<br /> right++;<br /> else {<br /> error[j] = result2;<br /> errorId[k] = i + 1;<br /> j++;<br /> k++;<br /> }<br /> break;<br /> }<br /> case 1:<br /> {<br /> while (first &lt; last) {<br /> first = random.nextInt(100);<br /> last = random.nextInt(100);<br /> }<br /> System.out.print(i + 1 + ". " + first + "-" + last + "=");<br /> result1 = input.nextInt();<br /> result2 = first - last;<br /> if (result1 == result2)<br /> right++;<br /> else {<br /> error[j] = result2;<br /> errorId[k] = i + 1;<br /> j++;<br /> k++;<br /> }<br /> break;<br /> }<br /> case 2:<br /> {<br /> System.out.print(i + 1 + ". " + first + "*" + last + "=");<br /> result1 = input.nextInt();<br /> result2 = first * last;<br /> if(first*last&gt;100)<br /> break;<br /> if (result1 == result2)<br /> right++;<br /> else {<br /> error[j] = result2;<br /> errorId[k] = i + 1;<br /> j++;<br /> k++;<br /> }<br /> break;<br /> }<br /> case 3:<br /> {<br /> if (last == 0) {<br /> last = random.nextInt(99) + 1;<br /> }<br /> while (first % last != 0) {<br /> first = random.nextInt(100);<br /> last = random.nextInt(99) + 1;<br /> }<br /> System.out.print(i + 1 + ". " + first + "/" + last + "=");<br /> result1 = input.nextInt();<br /> result2 = first / last;<br /> if (result1 == result2)<br /> right++;<br /> else {<br /> error[j] = result2;<br /> errorId[k] = i + 1;<br /> j++;<br /> k++;<br /> }<br /> break;<br /> }<br /> }<br /> }


 六、总结


通过while语句和if语句实现系统的模块化,让用户选择。


七.PSP撰写













任务内容






计划共完成需要的时间(min)

实际完成需要的时间(min)
计划 10 15
开发 127 161
 .需求分析 (包括学习新技术) 6 10
 .生成设计文档 15 20
 .设计复审 6 6
 .代码规范 10 10
 .具体设计 30 40
 .具体编码 40 50
 .代码复审 10 15
 .测试 10 10
报告 30 33
 .测试报告 10 12
 .计算工作量 10 11
 .事后总结 10 10

猜你喜欢

转载自www.cnblogs.com/changheng/p/11521410.html
今日推荐