20194676第二次作业四则运算

匿名 (未验证) 提交于 2019-12-03 00:05:01

一、需求分析 

  使用C或Java语言完成一个自动生成四则运算试题的程序。 自动生成10道100以内的2个操作数的四则运算算式(+ - *  /),要求运算结果也在100以内,并保存计算结果。

二、功能设计

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

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

      (3)题目数量可定制

      (4)相关参数可控制

          是否包含乘法和除法

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

          操作数是否含负数    

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

三、设计实现

  设计一个Tes测试t类,包括了变量的定义,变量的赋值,判断语句,循环语句等。

       设计了输入输出函数

       最后进行整体运算。

四、测试运行

五、代码展示

 

StringBuffer w = new StringBuffer();
 public void oppt(int n, int opn, int sel, boolean flag, boolean ifSave) {
  // TODO Auto-generated method stub
  for (int i = 0; i < n; i++) {
   num1 = r.nextInt(sel) + 1;
   shuzi = r.nextInt(opn);
   switch (shuzi) {
   case 0:
    num2 = r.nextInt(sel - num1);
    break;
   case 1:
    num2 = r.nextInt(num1);
    break;
   case 2:
    num2 = r.nextInt(sel / num1);
    break;
   case 3:
    num2 = r.nextInt(num1);
    break;
   }

 

   if (flag) {
    int f = r.nextInt(2);
    int p = r.nextInt(2);
    if (0 == f)
     num1 = -num1;
    if (0 == p)
     num2 = -num2;
   }
   if (num1 < 0)
    str1 = "(" + num1 + ")";
   else
    str1 = "" + num1;
   if (num2 < 0)
    str2 = "(" + num2 + ")";
   else
    str2 = "" + num2;
   if (ifSave) {
    w.append(str1 + "" + cun[shuzi] + str2 + "=" + "   ");

 

    try {
     FileWriter fw = new FileWriter("d:/result.txt");
     fw.write(w.toString());
     fw.close();
    } catch (IOException e) {
     e.printStackTrace();
    }
   }
   System.out.println(str1 + "" + cun[shuzi] + str2 + "=");
  }

六、总结

生成基本运算,再得出最后结果。学的比较吃力,MarkDown编辑也没整明白。

七、 PSP

 

 
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!