简单实用计算器

例如输入以下内容
3*5+3*2
4*3
4*7
3*5+3*2
4*3
4*7

会得到以下计算结果
记算过程:
1: 3*5+3*2 = 21
2: 4*3 => 12 + 21 => 33
3: 4*7 => 28 + 33 => 61
4: 3*5+3*2 => 21 + 61 => 82
5: 4*3 => 12 + 82 => 94
6: 4*7 => 28 + 94 => 122

记算公式: 3*5+3*2+4*3+4*7+3*5+3*2+4*3+4*7= 122

演示效果请看这里 http://www.zggo.com/ggg/soft/code/js.php
记算过程一目了解,还方便核对修改。嘿,看看感觉简单吧。实用吧 :P
以下是程序代码,有兴起的你还可以做个javascript版哟。

<HTML>
<HEAD>
<TITLE> 简单实用计算器 </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<style type="text/css">
<!--
body{
    margin-top:0px;                                                     /*页面上边距*/
    margin-bottom:0px;                                                  /*页面下边距*/
    margin-left:0px;                                                    /*页面左边距*/
    margin-right:0px;                                                   /*页面右边距*/
    font-size: 14px;
    font-family: "宋体";
    line-height:14pt;}
TD{WORD-BREAK: break-all;FONT-SIZE: 14px; }
.bigtitle {
 font-size: 24px;
 font-style: normal;
}

-->
</style>
</HEAD>

<BODY BGCOLOR="#FFFFFF">
<br><center ><span class="bigtitle">GGG的简单实用计算器</span></center><br>

<table width="95%" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td><TABLE BORDER="1" CELLSPACING="0" CELLPADDING="0" ALIGN="CENTER" bordercolorlight=#ffffff bordercolordark=#cccccc>
      <FORM NAME="form1" METHOD="post" ACTION="">
        <TR>
          <TD colspan="2" ALIGN="CENTER" bgcolor="#CCCCCC">记得每一行一个计算公式数字 </TD>
        </TR>
        <TR>
          <TD ALIGN="CENTER">
<TEXTAREA NAME="content" COLS="30" ROWS="15" style="ime-mode: disabled "><?=$_POST["content"]?></TEXTAREA></TD>
          <TD valign="top">&nbsp;</TD>
        </TR>
        <TR>
          <TD colspan="2" ALIGN="CENTER">请设制对每行计算结果的数据操作</TD>
        </TR>
        <TR>
          <TD colspan="2" ALIGN="CENTER"><INPUT TYPE="radio" NAME="mode" VALUE="+" CHECKED>
            加法
              <INPUT TYPE="radio" NAME="mode" VALUE="-">
            减法
            <INPUT TYPE="radio" NAME="mode" VALUE="*">
            乘法
            <INPUT TYPE="radio" NAME="mode" VALUE="%">
            除法</TD>
        </TR>
        <TR>
          <TD colspan="2" ALIGN="CENTER"><INPUT TYPE="submit" NAME="Submit" VALUE="计算">
              <INPUT TYPE="reset" NAME="Submit2" VALUE="Reset">
            <INPUT TYPE="hidden" NAME="command" VALUE="submit"></TD>
        </TR>
      </FORM>
    </TABLE></td>
    <td valign="top"><TABLE width="95%" align="center" cellpadding="0" cellspacing="0" >
      <FORM NAME="form1" METHOD="post" ACTION="">
        <TR>
          <TD width="243" valign="top">例如输入以下内容<br>
              <strong>3*5+3*2<br>
                4*3<br>
                4*7<br>
                3*5+3*2<br>
                4*3<br>
                4*7</strong><br>
            会得到以下计算结果<br>
            记算过程: <br>
            1:  3*5+3*2 = <font color=blue>21 </font><br>
            2: 4*3 => <font color=blue>12 </font> + 21  => <font color=red>33 </font><br>
            3: 4*7 => <font color=blue>28 </font> + 33  => <font color=red>61 </font><br>
            4: 3*5+3*2 => <font color=blue>21 </font> + 61  => <font color=red>82 </font><br>
            5: 4*3 => <font color=blue>12 </font> + 82  => <font color=red>94 </font><br>
            6: 4*7 => <font color=blue>28 </font> + 94  => <font color=red>122 </font><br>
            <br>
            记算公式: 3*5+3*2+4*3+4*7+3*5+3*2+4*3+4*7=
            <font color=red>122</font></TD>
        </TR>
      </FORM>
    </TABLE></td>
  </tr>
</table>
</BODY>
</HTML>

<TABLE width="95%" align="center" cellpadding="0" cellspacing="0" BORDER="1" bordercolorlight=#ffffff bordercolordark=#cccccc>
        <TR>
          <TD>
<?
//2006-5-13 1:56 test
if($_POST["command"]=="submit")
{
 $mode  = $_POST["mode"];
 $pieces  = explode("/n", $_POST["content"]); //计算数据按每行一每保存在数组
 $count_len = count($pieces);
 $cal_int_array=array();   //保存每行的计算结果
 $cal_str_array=array();   //保存每行的计算过程
 print("<B>记算过程</B>:</TD></TR><TR><TD> ");
 for($tmp_i=0;$tmp_i<$count_len;$tmp_i++)
 {
  $tmp_str=trim($pieces[$tmp_i]);     //得到每一行数据
  if($tmp_str=="")  //如果为空直接跳过
   continue;
  if(!ereg("^[0-9.]*$",$tmp_str)) //如果字符窜里含有数字以外的字符 直接当作公式来对待
  {
   @eval("/$cur_numb=".$tmp_str.";"); 
   //$tmp_str="(".$tmp_str.")";
  }
  else
  {
   $cur_numb =$tmp_str; //保存当前行计算结果
  }
  $cal_str_array[]=$tmp_str;      //保存当前计算公式
  $cal_int_array[]=doubleval($cur_numb);   //保存当前行计算结果

  $tmp_row_str ="<br>".($tmp_i+1).": ";  //保存每行输出的内容 输出行号
  if($tmp_i == 0) //如果是第一行进行另外处理
  {
   $tmp_row_str.=" ".$tmp_str;
   $tmp_row_str.=" = <font color=blue>".doubleval($cur_numb)." </font>";
  }
  else
  {
   @eval("/$total_numb=".implode($mode,$cal_int_array).";");  //得到当前的结果
   $prev_array=$cal_int_array;
   unset($prev_array[$tmp_i]);
   @eval("/$prev_numb=".implode($mode,$prev_array).";");   //得到上次的计算结果
   $tmp_row_str.=$tmp_str." => <font color=blue>".$prev_numb." </font>";
   $tmp_row_str.=" ".$mode." ".doubleval($cur_numb)." "; //;
   $tmp_row_str.=" => <font color=red>".doubleval($total_numb)." </font>"; //
  }
  echo $tmp_row_str ;
 }
 print("<br><br>记算公式: ");
 print(implode($mode,$cal_str_array));
 @eval("/$total_numb=".implode($mode,$cal_int_array).";");  //得到当前的结果
 print(" = <font color=red>".$total_numb."</font>");
}
?>

          </TD>
        </TR>
</TABLE>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值