为了账号安全,请及时绑定邮箱和手机立即绑定

正在回答

2 回答

<html>

<head>

  <title>

    科学计算器

  </title>

  

  <script language=JavaScript>

  <!--在旧浏览器中隐藏JavaScript代码

  

  //以下为变量

  var done = false;

  var pressed = false;

  var operator = 0;

  

  //存储最近的用户输入

  function push(form)

  {

    form.stack.value = form.display.value;

    form.display.value = 0;

    done = false;  

  }

  

  //清零

  function reset(form)

  {

    form.stack.value = 0;

    form.display.value = 0;

    done = false;

    operator = 0;

    pressed = false;

  }

  

  //为显示窗口增加一个字符

  function addChar(input,c)

  {

    if(input.value.indexOf("按")!=-1)

      input.value = "";

    if(input.value.indexOf("错")!=-1)

      input.value = "";  

    if(done == true)//若已计算,则入栈

      push(input.form);

    if(input.value == null||input.value == "0")//保证input.value是一个字符串

      input.value = c;  

    else//否则认为是一个数据的同一个连续输入

      input.value += c;

    done = false;//设置未计算位

    pressed = false;//设置未按下        

  }

  

  //删除一个按钮

  function delChar(input)

  {

    input.value = input.value.substring(0,input.value.length-1);

  }

  

  function operate(form)

  {

    temp = parseFloat(form.display.value);

    if(operator == 1)

    {

      form.display.value = parseFloat(form.stack.value)+parseFloat(form.display.value);      

    }

    else if(operator == 2)

    {

      form.display.value = parseFloat(form.stack.value)-parseFloat(form.display.value);      

    }

    else if(operator == 3)

    {

      form.display.value = parseFloat(form.stack.value)*parseFloat(form.display.value);          

    }

    else if(operator == 4)

    {

      if(form.display.value == 0)

      {

        form.display.value = "除0错误";

        form.stack.value = 0;

        operator = 0;

      }

      else

      {

        form.display.value = parseFloat(form.stack.value)/parseFloat(form.display.value);          

      }      

    }    

    if(pressed == false)

    {

      form.stack.value = temp;

    }

    done = true;

    pressed = true;  

  }

  

  //加法

  function add(form)

  {

    operate(form);    

    operator = 1;

  }

  

  //减法

  function subtract(form)

  {

    if(pressed == false)

      operate(form);

    operation = 2;  

  }

  

  //乘法

  function multiply(form)

  {

    operate(form);

    operator = 3;

  }

  

  //除法

  function divide(form)

  {

    operate(form);

    operator = 4;

  }

  

  //等于

  function equals(form)

  {

    operate(form);

    operator = 0;

  }

  

  //正切

  function tan(form)

  {

    form.display.value = Math.tan(form.display.value);

    done = true;    

  }

  

  //余弦

  function cos(form)

  {

    form.display.value = Math.cos(form.display.value);

    done = true;

  }

  

  //正弦

  function sin(form)

  {

    form.display.value = Math.sin(form.display.value);

    done = true;

  }

  

  //反正切

  function atan(form)

  {

    form.display.value = Math.atan(form.display.value);

    done = true;

  }

  

  //反余弦

  function acos(form)

  {

    form.display.value = Math.acos(form.display.value);

    done = true;

  }

    

  //反正弦

  function asin(form)

  {

    form.display.value = Math.asin(form.display.value);

    done = true;

  }

  

  //绝对值

  function abs(form)

  {

    form.display.value = Math.abs(form.display.value);

    done = true;

  }

  

  //平方根

  function sqrt(form)

  {

    form.display.value = Math.sqrt(form.display.value);

    done = true;

  }

  

  //平方

  function sqr(form)

  {

    form.display.value *= form.display.value;

    done = true;

  }

  

  //以e为底的指数

  function exp(form)

  {

    form.display.value = Math.exp(form.display.value);

    done = true;

  }

  

  //PI

  function pi(form)

  {

    form.display.value = Math.PI;

    done = true;

  }

  

  //常用对数值

  function log(form)

  {

    form.display.value = Math.log(form.display.value)/Math.log(10);

    done = true;

  }

   

  //自然对数值

  function ln(form)

  {

    form.display.value = Math.log(form.display.value);

    done = true;    

  } 

  

  //e值

  function e(form)

  { 

    form.display.value = Math.E;

    done = true;

  }

  

  //变幻正负性

  function changeSign(form)

  {

    form.display.value = 0-form.display.value;

    done = true;

  }

  

  //倒数

  function inv(form)

  {

    if(form.display.value == 0)

      {

        form.display.value = "除0错误";

      }

    else

    {

      form.display.value = 1/form.display.value;

    }      

    done = true; 

  }

  <!--在旧浏览器中隐藏完毕-->

  

  </script>

</head>


<body>

  <center>

    <font color="ff0000">

      <h1> Calculator</h1>

      <hr>

      <form method="post">

      <table border="1" align=center>

        <tr align=center>

          <td colspan=7>

            <table border="0">

              <input type="hidden" name="stack" value="0">

              <tr>

                <td align="middle">

                  显示:

                </td>  

                <td>

                  <input name="display" size=40 value="按Start键开始">

                </td>

              </tr>

            </table>

          </td>

        </tr>

        <tr align=center>

          <td>

            <input type="button" value="  7  " onClick="addChar(this.form.display,'7')">

          </td>

          <td>

            <input type="button" value="  8  " onClick="addChar(this.form.display,'8')">

          </td>

          <td>

            <input type="button" value="  9  " onClick="addChar(this.form.display,'9')">

          </td>

          <td>

            <input type="button" value="  /  " onClick="divide(this.form)">

          </td>

          <td>

            <input type="button" value="Sqrt " onClick="sqrt(this.form)">

          </td>

          <td>

            <input type="button" value=" Exp " onClick="exp(this.form)">

          </td>

          <td>

            <input type="button" value="  E  " onClick="e(this.form)">

          </td>

        </tr>  

        <tr align=center>

          <td>

            <input type="button" value="  4  " onClick="addChar(this.form.display,'4')">

          </td>

          <td>

            <input type="button" value="  5  " onClick="addChar(this.form.display,'5')">

          </td>

          <td>

            <input type="button" value="  6  " onClick="addChar(this.form.display,'6')">

          </td>

          <td>

            <input type="button" value="  *  " onClick="multiply(this.form)">

          </td>

          <td>

            <input type="button" value=" Abs " onClick="abs(this.form)">

          </td>

          <td>

            <input type="button" value=" PI  " onClick="pi(this.form)">

          </td>

          <td>

            <input type="button" value=" Sqr " onClick="sqr(this.form)">

          </td>

        </tr>  

        <tr align=center>

          <td>

            <input type="button" value="  1  " onClick="addChar(this.form.display,'1')">

          </td>

          <td>

            <input type="button" value="  2  " onClick="addChar(this.form.display,'2')">

          </td>

          <td>

            <input type="button" value="  3  " onClick="addChar(this.form.display,'3')">

          </td>

          <td>

            <input type="button" value="  -  " onClick="subtract(this.form)">

          </td>

          <td>

            <input type="button" value=" Tan " onClick="tan(this.form)">

          </td>

          <td>

            <input type="button" value="Atan " onClick="atan(this.form)">

          </td>

          <td>

            <input type="button" value=" Ln  " onClick="ln(this.form)">

          </td>

        </tr>  

        <tr align=center>

          <td>

            <input type="button" value="  0  " onClick="addChar(this.form.display,'0')">

          </td>

          <td>

            <input type="button" value="  .  " onClick="addChar(this.form.display,'.')">

          </td>

          <td>

            <input type="button" value=" +/- " onClick="changeSign(this.form)">

          </td>

          <td>

            <input type="button" value="  +  " onClick="add(this.form)">

          </td>

          <td>

            <input type="button" value=" Cos " onClick="cos(this.form)">

          </td>

          <td>

            <input type="button" value="Acos " onClick="acos(this.form)">

          </td>

          <td>

            <input type="button" value=" Log " onClick="log(this.form)">

          </td>

        </tr>  

        <tr align=center>

          <td>

            <input type="button" value="Start" onClick="reset(this.form)">

          </td>

          <td>

            <input type="button" value="  C  " onClick="reset(this.form)">

          </td>

          <td>

            <input type="button" value=" <-  " onClick="delChar(this.form.display)">

          </td>

          <td>

            <input type="button" value="  =  " onClick="equals(this.form)">

          </td>

          <td>

            <input type="button" value=" Sin " onClick="sin(this.form)">

          </td>

          <td>

            <input type="button" value="Asin " onClick="asin(this.form)">

          </td>

          <td>

            <input type="button" value=" Inv " onClick="inv(this.form)">

          </td>

        </tr>  

      </table>

      </form>           

    </font>

  </center>              

</body>

</html> 

    


0 回复 有任何疑惑可以回复我~
#1

yomei 提问者

非常感谢!
2015-04-21 回复 有任何疑惑可以回复我~

先仿照计算器的样子写好HTML和CSS,然后用js控制输入和输出就好了

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
初识HTML(5)+CSS(3)-升级版
  • 参与学习       1226306    人
  • 解答问题       18239    个

HTML(5)+CSS(3)基础教程8小时带领大家步步深入学习标签用法和意义

进入课程

计算器编写

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信