zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    PAT顶级 1024 Currency Exchange Centers (35分)(最小生成树)
    Codeforces 1282B2 K for the Price of One (Hard Version)
    1023 Have Fun with Numbers (20)
    1005 Spell It Right (20)
    1092 To Buy or Not to Buy (20)
    1118 Birds in Forest (25)
    1130 Infix Expression (25)
    1085 Perfect Sequence (25)
    1109 Group Photo (25)
    1073 Scientific Notation (20)
  • 原文地址:https://www.cnblogs.com/zhanyulin/p/8608920.html
Copyright © 2011-2022 走看看