zoukankan      html  css  js  c++  java
  • 20194663 自动生成四则运算题第一版报告(第二次作业)

    一、需求分析

    老师让家长每天出10道100以内的四则运算发的题,给孩子做。想通过一个小程序来做这件事。

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

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

    (3)题目数量可定制

    (4)相关参数可控制

              是否包含乘法和除法

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

              操作数是否含负数    

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

    二、功能设计

    1、基本功能

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

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

    (3)题目数量可定制

    (4)相关参数可控制

              是否包含乘法和除法

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

              操作数是否含负数    

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

    2、扩展功能

    (1)可对做题情况打分

    (2)可以指出做错的题目编号,并给出正确答案

     三、 设计实现

    设计只用了一个类、一个主方法。所有的功能都在主方法里编写。

    四、测试运行

    五、

    实现加减乘除四则运算,并且记录对错的数量,做错的题给出正确答案

    ```

    switch (oper) {
    case 0:
    {
    System.out.print(i + 1 + ". " + first + "+" + last + "=");
    result1 = input.nextInt();
    result2 = first + last;
    if(first+last>100)
    break;
    if (result1 == result2)
    right++;
    else {
    error[j] = result2;
    errorId[k] = i + 1;
    j++;
    k++;
    }
    break;
    }
    case 1:
    {
    while (first < last) {
    first = random.nextInt(100);
    last = random.nextInt(100);
    }
    System.out.print(i + 1 + ". " + first + "-" + last + "=");
    result1 = input.nextInt();
    result2 = first - last;
    if (result1 == result2)
    right++;
    else {
    error[j] = result2;
    errorId[k] = i + 1;
    j++;
    k++;
    }
    break;
    }
    case 2:
    {
    System.out.print(i + 1 + ". " + first + "*" + last + "=");
    result1 = input.nextInt();
    result2 = first * last;
    if(first*last>100)
    break;
    if (result1 == result2)
    right++;
    else {
    error[j] = result2;
    errorId[k] = i + 1;
    j++;
    k++;
    }
    break;
    }
    case 3:
    {
    if (last == 0) {
    last = random.nextInt(99) + 1;
    }
    while (first % last != 0) {
    first = random.nextInt(100);
    last = random.nextInt(99) + 1;
    }
    System.out.print(i + 1 + ". " + first + "/" + last + "=");
    result1 = input.nextInt();
    result2 = first / last;
    if (result1 == result2)
    right++;
    else {
    error[j] = result2;
    errorId[k] = i + 1;
    j++;
    k++;
    }
    break;
    }
    }
    }```

     六、总结

    通过while语句和if语句实现系统的模块化,让用户选择。

    七.PSP撰写

    任务内容

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

    实际完成需要的时间(min)
    计划 10 15
    开发 127 161
     .需求分析 (包括学习新技术) 6 10
     .生成设计文档 15 20
     .设计复审 6 6
     .代码规范 10 10
     .具体设计 30 40
     .具体编码 40 50
     .代码复审 10 15
     .测试 10 10
    报告 30 33
     .测试报告 10 12
     .计算工作量 10 11
     .事后总结 10 10
  • 相关阅读:
    hdu 2001 计算两点的距离
    hdu 2001 计算两点的距离
    hdu 2000 ASCII码排序(c语言)
    hdu 2000 ASCII码排序(c语言)
    1.网页学习-开始学习第一步:
    .net 父窗口线程交给子窗口
    多线程传递多个参数
    not Exists的使用方法
    xml.dom.minidom介绍
    .net之线程控件之间访问
  • 原文地址:https://www.cnblogs.com/changheng/p/11521410.html
Copyright © 2011-2022 走看看