小学四则运算练习软件项目报告

it2025-05-15  26

 

coding.net源码地址 https://git.coding.net/wowomilkycandy/week2--Operation.git

 

 

1.需求分析

这次作业要求的是一个小学四则运算练习软件,需要随机生成n道四则运算。首先要求能获取随机数n,其次要求能生成3-5个运算符,运算符为+-*÷,生成相应的0-100之 间的整数。题目要求不能出现负数和非整数。

 

2.功能设计

基本功能   获取用户输入的题目数量,生成符合要求的四则运算式并得出答案,同时判断正误

扩展功能   无

 

3. 设计实现

        

涉及的函数

 1.获取习题数量的函数

    getNum()

    设置输入函数,获取输入的题目数量0-1000

2.main函数

    主要是实现调用函数,得出结果并写入的需求的

3.随机生成习题

RandCreate()函数 主要是用来随机生成算式并写出的

 

 

 4、算法详解

 1.生成题目的算法

   先生成3-5个运算符,并且在其中进行控制,再生成运算数,运算数比运算符多一

   并且使用count来记录运算符的数量

int count = 0, count_h = 0;// 记录运算符数量 int[] arr = new int[6];// 记录运算数 int[] arr_h = new int[6]; char[] ch = { '+', '-', '*', '÷' }; int[] chno = new int[5];// 记录运算符 int[] chno_h = new int[5]

  2.计算题目

  我用了file方法,是java.io中的方法,能够得出结果并写入result.txt

        

1 if (arr[0] >= 0) // 结果大于0 2 { 3 n--; 4 5 for (int i = 0; i < count_h; i++) { 6 fw.write(String.valueOf(arr_h[i])); 7 fw.write(String.valueOf(ch[chno_h[i]])); 8 } 9 fw.write(String.valueOf(arr_h[count_h])); 10 fw.write("="); 11 fw.write(String.valueOf(arr[0])); 12 fw.write("\r\n"); 13 fw.flush(); 14 }

 

5.测试运行

        

    

         测试是有弊端的,目前我还没有解决,本来会生成有三个除号连起来得出答案为零的情况,我直接设置了不能有两个出号出现在一个式子内

        


觉得较为优秀的代码

1 for (int i = 0; i < count; i++) { 2 if (chno[i] == 2) // * 3 { 4 int a = arr[i] * arr[i + 1]; 5 arr[i] = a; 6 count--; 7 for (int j = i; j < count; j++) { 8 chno[j] = chno[j + 1]; 9 arr[j + 1] = arr[j + 2]; 10 } 11 i--; 12 } else if (chno[i] == 3) // 13 { 14 int a = arr[i] / arr[i + 1]; 15 arr[i] = a; 16 count--; 17 for (int j = i; j < count; j++) { 18 chno[j] = chno[j + 1]; 19 arr[j + 1] = arr[j + 2]; 20 } 21 i--; 22 } 23 }

乘除法的判断问题


6.总结

 

 

 

 

相比于其他同学来说,我可能会写,但是对于那些专业名词一窍不通,才会出现各种问题,比如静态函数中使用了非静态方法。还是要好好再学习一下java

 

7.PSP

 

PSP

任务内容

计划时间(min)

完成时间(min)

Planning

计划

20

20

 Estimate

 估计这个任务需要多少时间,并规划大致工作步骤

30

20

Development

开发

600

1800

Analysis

需求分析

20

25

Design Spec

生成文档

0

0

 Design Review

设计复审

0

0

Coding Standard

代码规范

5

5

Design

具体设计

60

180

Coding

具体编码

300

900

Code Review

代码复审

30

600

Test

测试

5

80

Reporting

报告

160

400

Test Report

测试报告

120

360

Size Measurement

计算工作量

10

10

Postmortem & Process Improvement Plan

事后总结, 并提出过程改进计划

30

30

 

 

 

2018.04.13  经过修改,能使用命令行参数进行测试了,截图当时忘了截

 

转载于:https://www.cnblogs.com/wowocandy-milk/p/8617916.html

相关资源:数据结构—成绩单生成器
最新回复(0)