软件工程 第一个小例子

1.生成加减号:

  Math.floor(Math.random()*2)随机产生数字1或2,用1表示+,2表示-

2.随机产生两个数:

  Math.floor(Math.random()*range),range表示范围

  因为是小学简单数学,所以结果不能为负数,这就需要做减法是第二个数比第一个数小

3.访问链接   运行效果

4.具体代码如下:

javascript

<script type="text/javascript" >
    $(function(){
      $(‘input‘).keydown(function(event){
        if(event.keyCode!=8 && (event.keyCode<48 || event.keyCode>57)){
          return false;
        }
      });

      $(‘#create‘).click(function(){
        var num = $(‘#num‘).val();
        var range = $(‘#range‘).val();
        if(num == ‘‘){
          alert(‘请填写题目数量!‘);
          return false;
        }
        if(range == ‘‘){
          alert(‘请填写出题范围!‘);
          return false;
        }
        $("#createDiv").css(‘display‘,‘none‘);
        for(var i=0;i<num;i++){
          var mark = Math.floor(Math.random()*2);
          var valueA = Math.floor(Math.random()*range);
          if(mark==0){
            mark=‘+‘;
            var valueB = Math.floor(Math.random()*range);
          }else{
            mark=‘-‘;
            var valueB = Math.floor(Math.random()*parseInt(valueA));

          }
          var html = "<div class=‘question‘><span class=‘span‘>"+(i+1)+".</span><span class=‘span1‘>"+valueA+"</span><span class=‘span2‘>"+mark+"</span><span class=‘span3‘>"+valueB+"</span><span class=‘span4‘>=</span><input type=‘text‘ class=‘input‘></div>";
          $(‘#div‘).append(html);
        }
        $(‘input‘).keydown(function(event){
          if(event.keyCode!=8 && (event.keyCode<48 || event.keyCode>57)){
            return false;
          }
        });
        $(‘#submit‘).css(‘display‘,‘block‘);
      });

      $(‘#submit‘).click(function(){
        var yes = 0;
        var no = 0;
        $(this).css(‘display‘,‘none‘);
        $(‘.question‘).each(function(){
          $(this).find(‘input‘).attr(‘disabled‘,true);
          var valueA = $(this).find(‘.span1‘).html();
          var mark = $(this).find(‘.span2‘).html();
          var valueB = $(this).find(‘.span3‘).html();
          var res = $(this).find(‘input‘).val();

          var rightRes=0; //输入结果
          if(res == ‘‘){
            no++;
            $(this).append(‘<span class="res2">?</span>‘);
          }else{
            if(mark == ‘+‘){
              rightRes = parseInt(valueA)+parseInt(valueB);
            }else{
              rightRes = parseInt(valueA)-parseInt(valueB);
            }
            if(res == rightRes){
              yes++;
              $(this).append(‘<span class="res1">?</span>‘);
            }else{
              no++;
              $(this).append(‘<span class="res2">?</span>‘);
            }
          }
        });
        alert(‘正确‘+yes+‘道题,错误‘+no+‘道题。‘);
        $(‘#div‘).append(‘正确‘+yes+‘道题,错误‘+no+‘道题。‘);
      });
    });
  </script>

css

<style type="text/css">

  .span{
    margin:0 10px;
    width:50px;
    display:inline-block;
    text-align: center;
  }
  .span1,.span3{
    margin:0 5px;width:50px;
    display:inline-block;text-align: center;
  }
  .span2,.span4{
    margin:0 5px;width:20px;
    display:inline-block;text-align: center;
  }
  .question{
    width:500px;
    height:30px;
    margin:2px;
  }
  .question input{
    margin:0 5px;text-align: center;width:100px;
  }
  #submit{
    display:none;
  }
  #div1{
    width:500px;
    margin:0 auto;
  }
  .res1{
    color:#56D003;
  }
  .res2{
    color:#F10100;
  }
  </style>

html

<body>
  <div id="div1">
    <div id="div">
    </div>
    <button id="submit">提交</button>
    <div id="createDiv">
      <table>
        <tr>
          <td>题目数量:</td>
          <td><input type="text" id="num" class="input"></td>
        </tr>
        <tr>
          <td>题目范围:</td>
          <td><input type="text" id="range" class="input"></td>
        </tr>
      </table>
      <button id="create">出题</button>
    </div>
  </div>
</body>
时间: 2024-10-11 03:39:40

软件工程 第一个小例子的相关文章

JavaFX 二 First Blood(第一个小例子,拿起武器冲啊~)

万万没想到,上次写的JavaFX 一,回应那么激烈,令我有点小激动啊,这里感谢各位这么热心,大家的支持就是我最大的动力,让我们共同进步,共同学习.话题回归,今天我想给大家讲讲JavaFX的第一个小例子,顺便通过例子,给大家讲讲一些关于JavaFX的代码编写的一些心得体会.不多废话,好戏即将开始...... 上次说到新手开发是先Fxml,再写代码,我们先来看看如何用JavaFX Scene Builder 2.0设计我们想要的界面,首先,我介绍下工具界面的一些小知识, 首先我们认识下这个FX的可视

《hadoop权威指南》关于hive的第一个小例子的演示

本文是<hadoop权威指南>关于hive的小例子,通过这个例子可以很好地看出来hive是个什么东西. 前提是已经配置好hive的远程连接版本的环境,我是用了MYSQL数据库保存元数据. 环境要求: -配置好了Hadoop的HDFS文件系统,启动hdfs和yarn -配置好了hive的远程连接模式 -配置好了MySQL用于metadata的储存 输入文件下载: https://github.com/tomwhite/hadoop-book/blob/master/input/ncdc/micr

NodeJS系列~第一个小例子,实现了request.querystring功能

百度百科上: Node.js是一套用来编写高性能网络服务器的JavaScript工具包,一系列的变化由此开始,在Node中,Http是首要的.Node为创建http服务器作了优化,所以在网上看到的大部分示例和库都是集中在web上(http框架.模板库等). Node.js的优点 nodejs作为一个新兴的后台语言,有很多吸引人的地方: RESTful API 单线程 Node.js可以在不新增额外线程的情况下,依然可以对任务进行并行处理 —— Node.js是单线程的.它通过事件轮询(event

什么是nodejs?nodejs的作用?创建第一个小实例

以下只是本人的理解如果错误请纠正: 1.nodejs:node是一个平台,是服务器端JavaScript的解析器,nodejs本身运行Google V8 JavaScript引擎,所以速度和性能非常好 2.nodejs旨在解决创建高性能的网络应用程序,可以编写每秒处理上万条同时访问物理机器的连接代码,并且可处理高并发和异步I/O node小实例:创建自己的第一个小实例,我用的是webstorm开发工具 1.编写代码:步骤 (1).引入http模块:require('http') (2).创建ht

python速成第二篇(小爬虫+文件操作+socket网络通信小例子+oop编程)

大家好,由于前天熬夜写完第一篇博客,然后昨天又是没休息好,昨天也就不想更新博客,就只是看了会资料就早点休息了,今天补上我这两天的所学,先记录一笔.我发现有时候我看的话会比较敷衍,而如果我写出来(无论写到笔记本中还是博客中,我都有不同的感觉)就会有不同的想法,我看书或者看资料有时候感觉就是有一种惰性,得过且过的感觉,有时候一个知识想不通道不明,想了一会儿,就会找借口给自己说这个知识不重要,不需要太纠结了,还是去看下一个吧,然后就如此往复下去,学习就会有漏洞,所以这更加坚定了我写博客来记录的想法.

COM2 --- 小例子

在COM1 的小例子中,,我们大概知道什么是组件类 ,什么是接口了.这小节呢,我们来实现一下由一个组件类去实现两个接口的过程. 新建项目: 我们的 解决方案的 名字是 ComDemoCode ,项目名字是 MathToolKit  这表示 我们的 项目 自动 生成的 DLL  的名字就是 MathToolKit(数学工具包). 我们的继承关系 有必要 给大家 先 列出来,让大家 看看 在这里面,IPrimerMath接口 提供 + - * / % 五个基本运算方法,IAdvanceMath接口提

C/C++ New与Delete (小例子)

转自:http://blog.csdn.net/chenzujie/article/details/7011639 先来看两段小程序: 1). #include <iostream.h> #include <String.h> void main(void) { char *str1 = "just have fun"; char *str2 = "happy day"; char *sTmpPtr = new char[255]; char

用两个小例子来解释单例模式中的“双重锁定”

学习单例模式时,好多人都不太理解双重锁定.学完后突然想到一个很有趣的例子. 单例模式结构图: 代码: Singleton类 class Singleton { private static Singleton instance; private static readonly object syncRoot = new object(); //程序运行时创建一个静态只读的进程辅助对象 private Singleton() { } //用private修饰构造方法,防止外界利用new创建此类实例

五个小例子教你搞懂 JavaScript 作用域问题

众所周知,JavaScript 的作用域和其他传统语言(类C)差别比较大,掌握并熟练运用JavaScript 的作用域知识,不仅有利于我们阅读理解别人的代码,也有助于我们编写自己的可靠代码. 下面笔者将使用五个小例子来给大家分析下 JavaScript 的作用域要注意的问题. 感谢 例子的来源 (这5个例子我做错了2个 [嘿嘿,尽情鄙视吧],笔者就是要 死磕自己,奉献大家!) 先给出五个例子: 每个例子旁边都会给出答案的链接,如果你全部都正确了,你可以忽略这篇短文,并深深的鄙视下笔者. 例一: