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

Github的仓库主页链接地址:https://github.com/cy0325/CulClation.git



一、实验要求

软件基本功能要求如下:

  • 程序可接收一个输入参数n,然后随机产生n道加减乘除练习题,每个数字在 0 和 100 之间,运算符是3-4个。
  • 为了让小学生得到充分锻炼,每个练习题至少要包含2种运算符。同时,由于小学生没有分数与负数的概念,你所出的练习题在运算过程中不得出现负数与非整数,比如不能出 3/5+2=2.6,2-5+10=7等算式。
  • 练习题生成好后,将你的学号与生成的n道练习题及其对应的正确答案输出到文件“result.txt”中,不要输出额外信息,文件目录与程序目录一致。
  • 当程序接收的参数为4时,以下为输出文件示例。

软件附加功能要求如下:(请有余力的同学完成)

  • 支持有括号的运算式,包括出题与求解正确答案。注意,算式中存在的括号必须大于2个,且不得超过运算符的个数。
  • 扩展程序功能支持真分数的出题与运算,例如:1/6 + 1/8 + 2/3= 23/24。注意在实现本功能时,需支持运算时分数的自动化简,比如 1/2+1/6=2/3,而非4/6。


 二、需求分析

  • 本实验要求随机生成四则运算,并给出答案。为了简化程序的复杂性,随机生成整型数组,然后把四个符号存入到数组,随机取下标,调用JavaScript函数库计算结果即可。之后将四则运算和学号姓名保存到TXT文档中。


三、功能实现

1、实现了随机生成5位数的随机运算。

2、每个数字在0-100之间。

3、完成了基本的运算。

4、运用输出流将学号姓名和四则运算及其结果保存到result.txt中。



四、设计实现

在main函数中先调用随机函数生成有五位数的随机数组,将四则运算符存放到数组中,调用随机函数生成四个对应的数组下标,将整型数组中的数个四则运算符随机匹配,调用JavaScript函数库,计算所得结果,输出即可。



 五、测试运行



六、核心代码

 1         ScriptEngine javascript = new ScriptEngineManager().getEngineByName("JavaScript");
 2         PrintStream ps = null;
 3         String exp="";//表达式
 4         double result = 0; //结果
 5         char[] c={‘+‘,‘-‘,‘*‘,‘/‘};
 6         //文件操作
 7         try {
 8             File file =new File("./result.txt");
 9             ps = new PrintStream(new FileOutputStream(file));
10         } catch (FileNotFoundException e) {
11             e.printStackTrace();
12         }
13         //输入
14         Scanner sc=new Scanner(System.in);
15         System.out.println("请输入你要产生几个表达式:");
16         int number=sc.nextInt();
17         ps.println("201571030101 曹阳");
18         for(int j=0;j<number;j++)
19         {
20             //产生随机数数组
21             int[] array = new int[5];
22             Random r = new Random();
23             for (int i = 0, n = array.length; i < n; i++)
24             {
25                 array[i] = r.nextInt(100);
26             }
27             //    System.out.println(Arrays.toString(array));
28             Random ran = new Random();
29             int index=ran.nextInt(c.length);
30             int index1=ran.nextInt(c.length);
31             int index2=ran.nextInt(c.length);
32             int index3=ran.nextInt(c.length);
33             exp = String.valueOf(""+array[0]+c[index]+array[1]+c[index1]+array[2]+c[index2]+array[3]+c[index3]+array[4]);
34             try {
35                 result = Double.parseDouble(String.valueOf(javascript.eval(exp)));
36             } catch (ScriptException e) {
37                 e.printStackTrace();
38             }
39             if(Math.floor(result)==result&&result>0&&result<99999) {
40                 System.out.println(exp + "=" + (int) result);
41                 ps.println(exp + "=" + (int) result);
42             }
43             else j--;
44
45         }
46
47     


七、总结

本次实验,我明白了软件工程的庞大性,以及设计一个程序所花费的时间并不是想象中那么少的,虽然这个实验完成了,但是还是有部分设计不太符合题目要求,希望老师指正批评。



八、展示PSP


PSP2.1


任务内容


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


实际完成需要的时间(min)


Planning


计划


30


40


Estimate


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


30


30


Development


开发


200


300


Analysis


需求分析 (包括学习新技术)


15


30


Design Spec


生成设计文档


10


20


Design Review


设计复审 (和同事审核设计文档)


10


20


Coding Standard


代码规范 (为目前的开发制定合适的规范)


5


10


Design


具体设计


30


30


Coding


具体编码


100


120


Code Review


代码复审


10


20


est


测试(自我测试,修改代码,提交修改)


10


20


Reporting


报告


30


60


Test Report


测试报告


25


30


Size Measurement


计算工作量


2


3


Postmortem & Process

Improvement Plan


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


3


10


原文地址:https://www.cnblogs.com/mmzq/p/8613175.html

时间: 2024-11-06 03:38:41

小学四则运算练习软件项目报告的相关文章

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

 小学四则运算练习软件项目报告 项目克隆地址:https://git.coding.net/chenf640/workhome2_2.git 目录: 一.需求分析 二.功能设计 三.设计实现 四.算法详解 五.测试运行 六.代码展示 七.psp 八.总结 -------------------------------------------------- 一.需求分析 (一)功能需求  基本功能: 程序可接收一个输入参数n,然后随机产生n道加减乘除(分别使用符号+-*÷来表示)练习题. 每个数字

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

2016012075+小学四则运算练习软件项目报告 一.需求分析 二.功能设计 三.设计实现 四.算法详解 五.测试详解 六.代码展示 七.总结 八.PSP展示 coding.net地址:https://git.coding.net/sparkleStar/arithmetic.git,代码在Main.java中 一.需求分析 1.编写目标 使用Java编程语言,独立完成一个3到5个运算符的四则运算练习的命令行软件开发. 2.基本功能需求 (1)程序可接收一个输入参数n,然后随机产生加减乘除(分

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

项目报告目录: 一.感想 二.需求分析 三.功能设计 四.设计实现 五.算法详解 六.测试运行 七.总结反思 八.PSP展示 代码仓库地址:https://git.coding.net/Vsmile1997/symx.git测试效果见src下生成的result.txt文件 一.感想 我把感想写在第一部分,是想首先谈谈完成这个项目的体验和感悟.重新梳理程序的代码思路,满满的完成任务的成就感和如释重负的轻松感. 从拿到作业的起初,我把问题过度放大了.Java?我还要重新拿起那本大厚书学习Java?出

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

需求分析 首先明确项目需要,一个可以定做小学四则运算的程序.所以需要我们能够随机生成不同的四则运算,范围应在100以内,包含"+,-,*,÷"四种操作.要求:不存在小数,题目尽量不重复. 功能设计 基本功能应当包括,读入用户想要定制的算式数,以及对应的运算符数量,然后生成对应数目和难度的四则运算式子.并由程序自己计算,给出相应的答案. 扩展功能可以用:在算式中包含括号,计算存在真分数的式子. 设计实现 由计算机生成随机的第一个数字.运算符.后续数字.完成计算.显示结果等等. 在生成后续

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

项目地址:https://git.coding.net/meiyoupiqidefan/Four-Operations.git 目录: 一.需求分析 二.功能设计 三.设计实现 四.算法详解 五.测试运行 六.粘贴代码 七.总结 八.展示PSP ---------------------------- 一.需求分析 由于每次出题的数目不定,所以要求题数参数n由控制台输入 小学生水平有限,故每个数字在 0 和 100 之间,运算符在3个到5个之间. 为了让小学生得到充分锻炼,每个练习题至少要包含2

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

我的项目源码地址:https://coding.net/u/Dearpangpang/SiZeYunSuan.git/git.html 项目需求: 软件基本功能要求如下: 程序可接收一个输入参数n,然后随机产生n道加减乘除(分别使用符号+-*÷来表示)练习题,每个数字在0和100之间,运算符在3个到5个之间. 为了让小学生得到充分锻炼,每个练习题至少要包含2种运算符.同时,由于小徐生没有分数和负数的概念,你所出的练习题在运算过程中不得出现负数与非整数,比如不能出(3÷5+2=2.6,2-5+10

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

1.仓库地址:https://git.coding.net/FrrLolix/Calculate.git 2.需求分析: ①程序接受一个输入的参数n后,随机生成n道四则运算式,其中要保证生成的运算式的运算符在3-5个之间,同时程序对生成的运算式自动求解,结果和运算式一同输出到result.txt文件中. ②因为面向对象是小学生,所以要保证生成的运算式中不出现负数和小数,运算的结果也不能出现负数和小数. ③程序需要判断输入的参数n是否合法,在不合法时要进行一定的处理. ④在原有的基础上,生成的运算

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

代码仓库地址:https://coding.net/u/Siamese_miao/p/fourArithmetic/git?public=true 测试效果见src下生成的result.txt文件 一. 需求分析 1.  使用JAVA编程语言. 2.  接收一个输入参数n,随机产生n道四则运算练习题,符号用+-*÷来表示. 3.  每个数字在 0 和 100 之间. 4.  运算符在3个到5个之间并且每道练习题至少要包含2种运算符. 5.  运算过程中不得出现负数与非整数. 6.  将学号和生成

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

作业源代码地址:https://git.coding.net/mal123/elementary_arithmetic.githttps://git.coding.net/mal123/elementary_arithmetic.githttps://git.coding.net/mal123/elementary_arithmetic.githttps://git.coding.net/mal123/elementary_arithmetic.githttps://git.coding.net