• 第三次作业:个人项目-小学四则运算 “软件”之初版



    作业要求来源:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2166

    一、题目要求:

    像《构建之法》的人物阿超那样,写一个能自动生成小学四则运算题目的命令行 “软件”。

    具体要求:任何编程语言都可以,命令行程序接受一个数字输入,然后输出相应数目的四则运算题目和答案。例如输入数字是 30, 那就输出 30 道题目和答案。 运算式子必须至少有两个运算符,运算数字是在 100 之内的正整数,答案不能是负数。 如:

    23 - 3 * 4 = 11

    扩展要求:

    1) 要求能出和真分数 (二分之一, 十二分之五,等)相关的练习题。

    2) 并且要求能处理用户的输入,并判断对错,打分统计。 要求能处理用户输入的真分数, 如 1/2, 5/12 等。

    二、耗时统计表(/min):

    PSP2.1 Personal Software Process Stages Time Senior Student Time
    Planning 计划 15 8
     Estimate 估计这个任务需要多少时间 180 240
    Development 开发 60 50
    Analysis 需求分析 (包括学习新技术) 10 12
    Design Spec 生成设计文档 20 21
    Design Review 设计复审 18 35
    Coding Standard 代码规范 48 50
    Design 具体设计 38 42
     Coding 具体编码 52 120
    Code Review 代码复审 45 56
    Test 测试(自我测试,修改代码,提交修改) 18 36
    Reporting 报告 33 26
      测试报告 14 23
      计算工作量 180 240
      并提出过程改进计划 30 32

    三、部分代码:

    //让用户输入想要出的题的数字的位数

    System.out.println("当M=10时表示一位数的加减运算,M=100时表示两位数的加减运算...请选择");
    int M=in.nextInt();
    an.setM(M);
    System.out.println("请输入需要打印多少道题:");
    int N=in.nextInt();
    an.setN(N);
    an.Showme();

     //输出加减的运算题,并且输出答案

    class Jiajian extends Yunsuan

    {
    public char o[]={'+','-'};
    public void Showme()
    {
    for(int i=0;i<N;i++)
    {
    // for(int j=0;j<10;j++)
    // {
    int a=(int)(Math.random()*M)+1;//随机数种子 *M+1,加一表示非0
    int b=(int)(Math.random()*M)+1;
    int c=(int)(Math.random()*2);
    System.out.print(a);
    System.out.print(o[c]);
    System.out.print(b+"="+(a+b));
    // }
    System.out.println();
    }
    }
    }

    class Chengchu extends Yunsuan
    {
    public char p[]={'*','/'};
    // public char p_1='*';
    public void Showme()
    {
    for(int i=0;i<N;i++)
    {
    // for(int j=0;j<10;j++)
    // {
    int a=(int)(Math.random()*M)+1;
    int b=(int)(Math.random()*M)+1;
    int c=(int)(Math.random()*2);
    System.out.print(a);
    System.out.print(p[c]);
    if(p[c]=='*') {
    System.out.print(b + "=" + (a * b));
    System.out.println();
    }
    else {
    double d=a;
    double e=b;
    double g=d/e;
    double f=(double)Math.round(g*100)/100;
    System.out.print(b + "="+f );
    System.out.println();
    }
    // }
    }

    }
    }
     

    四、运行结果:

    实现四则运算的出题和输出答案,给用户

     

  • 相关阅读:
    学习软件工程的个人总结
    结对编程——黄金点游戏
    读取程序字符,行数,单词的个人程序
    c#代码分析
    Visual Studio2013的安装过程及练习测试
    小学三年级出题程序
    超级课程表的个人评价
    对软件工程的个人困惑
    个人附加作业
    个人最终总结
  • 原文地址:https://www.cnblogs.com/JunhanLin/p/9765191.html
Copyright © 2020-2023  润新知