博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

软件工程概论(课堂测试03)

Posted on 2017-12-06 20:28  我是好人程  阅读(99)  评论(0编辑  收藏  举报

1,设计思想

本实验要求编写一个在线生成小学生四则运算题目,并且实现判断对错,计时等功能。这就要求我们随机生成运算符与操作数,还要记录运算式的结果跟输入的结果进行对比判断对错,另外就是要在生成题目的时候注意生成题目的结果范围。

2,源代码

start.jsp

<!--信1605-3 程浩 多文佳-->
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>数学题目卡</title>
</head>
<body style="background: url(../s_szys/u=1680403215,2007003793%26fm=214%26gp=0.jpg)">
    <form action="yuansuan.jsp" method ="post">
          <table align="center" >
        <tr>
          <td>输入规定时间(单位:分):</td>
          <td>
             <input type="text" name="usetime"/>
          </td>
        </tr >
        <tr>
          <td>输入挑战题数:</td>
          <td>
             <input type="text" name="usenumber"/>
          </td>
        </tr>
        <tr align="center">
                <td colspan="2">
                    <input type="submit" value="提交"/>
                </td>
            </tr>
            </table>
    </form>
</body>
</html>

yuansuan.jsp

<!--信1605-3 程浩 多文佳-->
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>答题页面</title>
<body style="background: url(../s_szys/u=1680403215,2007003793%26fm=214%26gp=0.jpg)">
<script language="javascript">
   function sel(var1)
   {
       for(var i=0;i<var1;i++)
           {
          var  temp=document.getElementById("usesum"+i).value;
          var  temp1=document.getElementById("over"+i).value;
          if(temp==temp1)
           {
               document.getElementById("pp"+i).innerHTML="正确";
           }
           else
           {
               document.getElementById("pp"+i).innerHTML="错误";
           }
           }
   }
</script>
<form name="thisform" method ="post">
<%
    String usetime =request.getParameter("usetime");
    String usenumber =request.getParameter("usenumber");
    String usesum=null;
    int a=0,b=0,c=0,e[]=new int[Integer.parseInt(usenumber)];
    char d=' ';
    %>
      <table align="center" >
      <%
      for(int i=0;i<Integer.parseInt(usenumber);i++)
      {
          %>
              <%
    c=(int)(Math.random()*4);
    if(c==0)
    {
        a=(int)(Math.random()*101);
        b=(int)(Math.random()*101);
        d='+';
        e[i]=a+b;
        while(e[i]>100)
        {
            a=(int)(Math.random()*100);
            b=(int)(Math.random()*100);
            e[i]=a+b;
        }
    }
    else if(c==1)
    {
        a=(int)(Math.random()*101);
        b=(int)(Math.random()*101);
        d='-';
        e[i]=a-b;
        while(e[i]<0)
        {
            a=(int)(Math.random()*100);
            b=(int)(Math.random()*100);
            e[i]=a-b;
        }
    }
    else if(c==2)
    {
        a=1+(int)(Math.random()*9);
        b=1+(int)(Math.random()*9);
        d='×';
        e[i]=a*b;
    }
    else if(c==3)
    {
        a=1+(int)(Math.random()*9);
        b=1+(int)(Math.random()*9);
        d='/';
        e[i]=a*b;
        int f=0;
        f=e[i];
        e[i]=a;
        a=f;
    }
      %>
          <tr>
          <td>
          <%=a%>
          <%=d%>
          <%=b%>
          <%="="%>
          </td>
          <td>
            <input type="text" id="usesum<%=i%>"/>
          </td>
          <td>
          <p id=<%="pp"+i%>></p>
          </td>
          <td>
        
                <input type="hidden" id=<%="over"+i%> value=<%=e[i]%> >
          </td>
      </tr>
      <%
      }
      %>
      <tr align="center">
                <td colspan="2">
                    <input type="button" value="提交" onclick="sel(<%=usenumber%>)"/>
                </td>
            </tr>
        </table>
        </form>
        </body>
</html>

3,运行成果截图

4,编程总结分析

   这次编程遇到了很多问题,首先是生成运算式时要考虑到加减结果不能超过100,乘除要在九九乘法口诀以内,这就需要条件语句了。

之后就是文本框承载用户输入结果,还有一个是隐藏的记录结果,在一个javascript标签中写下判断函数,改变结果标签的值输出结果,

在这里我检查了两天才发现错误所在,特别要注意变量名的写法,以及赋值的函数。

5,时间记录日志