zoukankan      html  css  js  c++  java
  • 20194633 自动生成四则运算

    一、需求分析

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

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

    (3)题目数量可定制。

    (4)相关参数可控制。

              是否包含乘法和除法。

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

              操作数是否含负数。

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

    二、功能设计

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

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

           (2)用户可以自己选择用加减,乘除,正负.

    三、设计实现

          Java语言实现,软件myeclipse,其中随机生成数字需使用到Math.random()函数,并通过for,switch等控制语句实现条件的各种选择问题。

    四、测试运行

    一、需求分析

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

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

    (3)题目数量可定制

    (4)相关参数可控制

              是否包含乘法和除法

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

              操作数是否含负数    

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

    二、功能设计

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

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

           (2)用户可以自己选择用加减,乘除,正负.

    三、设计实现

          Java语言实现,软件myeclipse,其中随机生成数字需使用到Math.random()函数,并通过for,switch等控制语句实现条件的各种选择问题。

    四、测试运行

    只是加减法,并且么有负数。

    加减法和有负数

    包括负数和乘法和除法

    么有负数,包括乘法和除法

    五、代码

     

    for(int i=0;i<tg;i++) {//循环控制题目个数

    //第一个操作数的选择
    int a=(int)(Math.random()*tf+1);
    if(zf==1) {//有负数
    int p=(int) (Math.random()*2);
    switch(p) {
    case 0:a=a*(-1);//取负数
    System.out.print(a);break;
    case 1:
    System.out.print(a);break;
    }
    }
    if(zf==0) {//没有负数
    System.out.print(a);
    }
    if(fu==2) {//选择两个字符‘+’‘-’
    int k=(int)(Math.random()*2);
    switch(k) {//随机选择运算符
    case 0:System.out.print("+");
    break;
    case 1:System.out.print("-");
    break;
    }
    int b=(int)(Math.random()*tf+1);
    if(zf==1) {//有负数
    int p=(int) (Math.random()*2);
    switch(p) {
    case 0:b=b*(-1);//取负数
    System.out.print(b);break;
    case 1:
    System.out.print(b);break;
    }
    }
    if(zf==0) {//没有负数
    System.out.print(b);
    }
    System.out.print("=");

    //运算结果
    if(k==0) {c=a+b;System.out.println(c);}
    if(k==1){c=a-b; System.out.println(c);}


    }
    if(fu==4) {//四个字符的‘+’‘-’‘*’‘/’
    int k=(int)(Math.random()*4+1);
    switch(k) {//随机选择运算符
    case 1:System.out.print("+");break;
    case 2:System.out.print("-");break;
    case 3:System.out.print("*");break;
    case 4:System.out.print("/");break;
    }

    int b=(int) (Math.random()*tf+1);

    if(zf==1) {//有负数
    int p=(int) (Math.random()*2);
    switch(p) {
    case 0:b=b*(-1);//取负数

    System.out.print(b);break;
    case 1:
    System.out.print(b);break;
    }
    }
    if(zf==0) {//没有负数

    System.out.print(b);
    }
    //等号

    System.out.print("=");


    //运算结果
    if(k==1) {
    c=a+b;System.out.println(c);
    }
    if(k==2) {
    c=a-b;System.out.println(c);
    }
    if(k==3) {
    c=a*b;System.out.println(c);
    }
    if(k==4) {
    c=a/b;System.out.println(c);
    }

    六、总结

    只有通过实践才能知道自己的能力与不足,自己的知识差的不是一点半点,有些知识都忘记了,但基本程序所需要的功能都实现了,设定了多个if条件语句,通过用户所选择输出方式的不同进入到用户所定义相应的程序块,以此来实现此程序的功能。自己编码能力差的太多了,在学习的道路上还任务重、道路还远。尽管有很多不懂的知识,但是自己依然会尽力自己最大的努力来学习。

    七、PSP

    计划

    计划完成时间(min

    实际完成时间(min

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

    10

    20

    开发

    210

    320

    需求分析

    50

    80

    生成设计文档

    30

    30

    设计复审

    20

    40

    代码规范

    10

    15

    具体设计

    30

    50

    具体编码

    60

    90

    代码复审

    10

    15

    报告

    30

    40

    测试报告

    15

    20

    计算工作量

    5

    5

    事后总结

    10

    15

  • 相关阅读:
    go基础_定时器
    作业3:写一个测试程序,消耗固定内存
    Hdu3397Sequence operation线段树
    Hdu3308LCIS线段树
    Poj3667Hotel线段树
    Poj1436Horizontally Visible Segments线段树
    Poj3225Help with Intervals区间线段树
    Poj2528Mayor's posters线段树
    poj3468A Simple Problem with Integers区间和线段树
    Hdu1698Just a Hook线段树区间更新
  • 原文地址:https://www.cnblogs.com/LJTQ/p/11529188.html
Copyright © 2011-2022 走看看