四则运算软件项目报告

github项目地址: https://github.com/18093258022/Test.git

 

       一.需求分析

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

二.功能设计

  • 实现生成n个可以加减乘除四则运算的式子并能输出正确结果
  • 式子中的每一个值都在0~100之间
  • 式子的结果不为负,且除法不会出现非整数
  • 小学生没有分数与负数的概念,所出的练习题在运算过程中不得出现负数与非整数,比如不能出 3/5+2=2.6,2-5+10=7等算式。
  • 练习题生成好后,将学号与生成的n道练习题及其对应的正确答案输出到文件“result.txt

三.设计实现

此题目为随机产生四则运算,首先要产生随机数,故用random()产生两个两位的随机整数,然后用if-else语句分别实现加减乘除,在每个运算符中又用用if-else语句分了几种情况。

四.测试运行

       五.核心代码

if(m==0&&n==0)
                {
                    m = mm.nextInt(10)+1;
                    n = nn.nextInt(10)+1;
                    if(a%m==0&&b%n==0)
                    {
                        y = a + b;
                        System.out.printf(a+"+"+b+"= ");
                        Scanner e1 = new Scanner(System.in);
                        z = e1.nextInt();
                        if(z==y)
                        {
                            System.out.println("回答正确!");
                            h++;
                        }
                        else
                        {
                            System.out.println("回答错误!正确答案是"+y);

                        }

                    }
                    else if(a%m==0&&b%n!=0)
                    {
                        String l = b + "/" + n;
                        y = a*n + b ;
                        System.out.printf(a+"+"+l+"= ");
                        String k =  y + "/"+ n;
                        Scanner e6 = new Scanner(System.in);
                        String j = e6.next();
                        if(j.equals(k))
                        {
                            System.out.println("回答正确!");
                            h++;
                        }
                        else
                        {
                            System.out.println("回答错误!正确答案是"+k);

                        }

 

     六.总结

       由于对java语言不熟练,导致写程序时花费了大量时间,所以参考了网上的代码,而且在写代码之前,对需求分析不足,导致只能实现两个运算数的四则运算。在进行计算结果时,用if-else语句分了好几种情况,使代码比较繁琐,由于时间和能力有限,所以仅完成了部分功能,没有将运行结果输出到文本文档中。

     七.psp

PSP2.1

任务内容

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

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

Planning

计划

10

30

 Estimate

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

15

30

Development

开发

200

300

Analysis

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

25

30

 Design Spec

生成设计文档

10

10

Design Review

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

15

10

Coding Standard

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

5

5

Design

具体设计

30

30

Coding

具体编码

120

200

Code Review

代码复审

10

10

est

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

15

25

Reporting

报告

35

40

Test Report

测试报告

25

35

Size Measurement

计算工作量

3

3

Postmortem & Process

Improvement Plan

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

5

10

 

 

posted @ 2018-03-21 09:00  雨栀微云  阅读(448)  评论(3编辑  收藏  举报