zoukankan      html  css  js  c++  java
  • 软件工程第二次作业

    一、需求分析 

      (1)自动生成10道100以内的2个操作数的四则运算算式(+ - *  /),要求运算结果也在100以内

      (2)剔除重复算式。  2 + 3 =    和  2 + 3 =     是重复算式      2 + 3 =   和   3 + 2 =  不属于重复算式

      (3)题目数量可定制

      (4)相关参数可控制

                是否包含乘法和除法

                操作数数值范围可控(如操作数 在100以内   还是1000以内)

                操作数是否含负数    

       (5)生成的运算题存储到外部文件result.txt中

    二、功能设计

      基本功能:自动生成四则运算试题

      扩展功能:(1)算出答案

           (2)多操作数运算

           (3)用户可以自己选择用加减,乘除,正负,整分

           (4)预留了多余的空间

    三 测试运行

    输入题目数量,结果参数大小,是否包含乘法除法

     

     

     

     五 相关代码

    选择题目数量,结果大小,乘法除法

    Scanner rea=new Scanner(System.in);
       System.out.println("请输入题目数量");
       int total=rea.nextInt();
       System.out.println("请输入参数大小");
       int nsieze=rea.nextInt();
       System.out.println("是否包含乘法,如果包含,请输入1");
       int flag=rea.nextInt();
       System.out.println("是否包含除法,如果包含,请输入1");
       int fl=rea.nextInt();
       int a,b;
       int k=0;
       for(;k<total;){
                    int i;
        a=(int)(Math.random()*100);
        b=(int)(Math.random()*100);
        i=(int)(Math.random()*4);//加减乘除参数控制
        int n = 0;
       switch (i){
        case 0:  
         //int k=(int)(Math.random()*3);
                      if(i==0&&n<=nsieze)
         {n=a+b;
         k++;
         out.println(a+"+"+b+"="+n);
         System.out.println(a+"-"+b+"="+n);
         }

    case 2:
        if(i==2&&n<=nsieze&&flag==1)
         n=a*b;
       {k++;
       out.println(a+"*"+b+"="+n);
       System.out.println(a+"*"+b+"="+n);
    }  

    导出到外部文件相关代码

    PrintWriter out;//定义变量
                try{
                out=new PrintWriter("d:/test.txt");//输出的路径和文件名


                }catch(FileNotFoundException e){throw new RuntimeException(e);}

       out.println(a+"+"+b+"="+n);

    判断重复

     for(int j=i;j>0&&j<5;j--){//从当前位置向前遍历数组元素       
                                         if(aa[i]==aa[j-1]){//比较操作数x是否重复
                                             if(dd[i]==dd[j-1]){//如重复比较操作符是否重复
                                                 if(ee[i]==ee[j-1]){//如重复比较最后一个操作数是否重复
                                                     c=1;

    六 总结

    创建1个类,数字随机,选择题目数量,结果大小,乘法,除法,并且去除重复参数

    最后输入结果,导出到外部文件

    七、PSP

     

    PSP2.1

    任务内容

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

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

    Planning

    计划

    15

    20

    ·       Estimate

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

    15

    20

    Development

    开发

    350

    410

    ··       Analysis

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

    10

    20

    ·       Design Spec

    ·  生成设计文档

    0

    0

    ·       Design Review

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

    0

    0

    ·       Coding Standard

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

    5

    5

    ·       Design

      具体设计

    15

    20

    ·       Coding

      具体编码

    300

    340

    ·       Code Review

    ·  代码复审

    10

    10

    ·       Test

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

    10

    15

    Reporting

    报告

    30

    40

    ··       Test Report

    ·  测试报告

    20

    25

    ·       Size Measurement

      计算工作量

    0

    0

    ·       Postmortem & Process Improvement Plan

  • 相关阅读:
    [POJ1195] Mobile phones(二维树状数组)
    [SWUST1740] 圆桌问题(最大流)
    [SWUST1759] 骑士共存问题(最大流,最大独立集)
    欧拉函数O(sqrt(n))与欧拉线性筛素数O(n)总结
    BZOJ 1036: [ZJOI2008]树的统计Count-树链剖分(点权)(单点更新、路径节点最值、路径求和)模板,超级认真写了注释啊啊啊
    POJ 3237.Tree -树链剖分(边权)(边值更新、路径边权最值、区间标记)贴个板子备忘
    计蒜客 30999.Sum-筛无平方因数的数 (ACM-ICPC 2018 南京赛区网络预赛 J)
    洛谷 P3383 【模板】线性筛素数-线性筛素数(欧拉筛素数)O(n)基础题贴个板子备忘
    计蒜客 30996.Lpl and Energy-saving Lamps-线段树(区间满足条件最靠左的值) (ACM-ICPC 2018 南京赛区网络预赛 G)
    计蒜客 30990.An Olympian Math Problem-数学公式题 (ACM-ICPC 2018 南京赛区网络预赛 A)
  • 原文地址:https://www.cnblogs.com/chenxiangyuu/p/11506646.html
Copyright © 2011-2022 走看看