• 201571030333 小学生四则运算软件的开发


    GitHub仓库地址:https://github.com/zhanyulin/four-operation

    ①需求分析

    客户需要的软件基本功能如下

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

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

    ②功能设计

      输入一个数,能自动生成m个四则运算的式子

    ③设计实现

      改程序由Demo类实现,其中定义了四个字符a,b,c,d用来接收随机数,e,f,g,h用来接收0,1,2,3四个随机数,当随机数e,f,g,h的值为0,1,2,3时对应转化成+,-,*,/

    但是在输出时出了问题导致进行不下去,恳求老师进行指导。

    ④测试运行

    ⑤核心代码

     1 package cn.itcast01;
     2 
     3 import java.util.Scanner;
     4 
     5 public class Demo {
     6 
     7     public Demo() {
     8         // TODO Auto-generated constructor stub
     9     }
    10     static char h,i,j,k;
    11     public static void main(String[] args) {
    12         // TODO Auto-generated method stub
    13         int a,b,c,d,e;
    14         
    15         a=(int) (Math.random()*100);
    16         b=(int) (Math.random()*100);
    17         c=(int) (Math.random()*100);
    18         d=(int) (Math.random()*100);
    19         e=(int) (Math.random()*4);
    20         System.out.println(e);
    21         if (e==0){
    22             h='+';
    23         }
    24         else if (e==1){
    25             i='-';
    26         }
    27         else if (e==2){
    28             j='*';
    29         }
    30         else {
    31             k='/';
    32         }
    33         System.out.println("请输入要生成式子的个数n:");
    34         Scanner in = new Scanner(System.in);
    35         int n=in.nextInt();
    36     
    37         for(int m=0;m<=n;m++){
    38         String str=a+h+b+i+c+j+d+"="+a+h+b+i+c+j+d;
    39         System.out.println(str);
    40         }
    41     }
    42 
    43     private static int random() {
    44         // TODO Auto-generated method stub
    45         return 0;
    46     }
    47    
    48 }
    https://github.com/zhanyulin/four-operation 

    ⑥总结

    通过此次作业体现出的问题就在于本人动手能力太差,基本的语法都不是很熟悉,在以后的日子里一定要勤动手将以前落下来的给补上。

    ⑦展示PSP

    PSP2.1

    任务内容

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

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

    Planning

    计划

    20

    30

    ·       Estimate

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

    600

    540

    Development

    开发

    300

    420

    ··       Analysis

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

    10

    10

    ·       Design Spec

    ·  生成设计文档

    10

    15

    ·       Design Review

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

    5

    5

    ·       Coding Standard

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

    5

    5

    ·       Design

      具体设计

    300

    200

    ·       Coding

      具体编码

    200

    220

    ·       Code Review

    ·  代码复审

    7

    10

    ·       Test

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

    10

    20

    Reporting

    报告

    10

    10

    ··       Test Report

    ·  测试报告

    3

    5

    ·       Size Measurement

      计算工作量

    2

    5

    ·       Postmortem & Process Improvement Plan

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

    3

    10

  • 相关阅读:
    FCKeditor 2.6.4在ASP.NET中的安装、配置方法【转】 Fred
    框架页中针对IE6自适应宽度,不出现横向滚动条 Fred
    安装中文VS2008 SP1 和.NETFRAMEWORK 3.5SP1后智能提示是英文的解决办法 Fred
    .Net转义字符[转] Fred
    ReportViewer无法直接打印 Fred
    ASP.NET MVC 官方教程 Fred
    修改SQL Server 2005 sa用户密码的方法 Fred
    数据类型/对象类型介绍(1)NSString
    关于Chrome沙箱技术(沙盒技术)
    UITableView cell自定义视图中插入Table实现复杂界面
  • 原文地址:https://www.cnblogs.com/zhanyulin/p/8608920.html
Copyright © 2020-2023  润新知