PHP实现简单计算器程序代码
发布:smiling 来源: PHP粉丝网 添加日期:2014-07-14 10:27:46 浏览: 评论:0
要实现计算器我们可以利用php中相关数学操作函数及相关数组来进行操作了,这个个人只是好玩写的并且无实用,计算器个人觉得js的最好.
php计算器,代码如下:
- <html>
- <head>
- <title>PHP实现简单计算器</title>
- <meta http-equiv="Content-Type" content="text/html;charset=gb2312">
- </head>
- <?php
- $num1=true;
- $num2=true;
- $numa=true;
- $numb=true;
- $message="";
- //单路分支
- if(isset($_GET["sub"])){
- if($_GET["num1"]==""){
- $num1=false;
- $message.="第一个数不能为空";
- }
- if(!is_numeric($_GET["num1"])){
- $numa=false;
- $message.="第一个数不是数字";
- }
- if($_GET["num2"]==""){
- $num2=false;
- $message.="第二个数不能为空";
- }
- if(!is_numeric($_GET["num2"])){
- $numb=false;
- $message.="第二个数不是数字";
- }
- if($num1 && $num2 && $numa && $numb) {
- $sum=0;
- //多路分支switch
- switch($_GET["ysf"]){
- case "+":
- $sum=$_GET["num1"]+$_GET["num2"];
- break;
- case "-":
- $sum=$_GET["num1"]-$_GET["num2"];
- break;
- case "x":
- $sum=$_GET["num1"]*$_GET["num2"];
- break;
- case "/":
- $sum=$_GET["num1"]/$_GET["num2"];
- break;
- case "%":
- $sum=$_GET["num1"]%$_GET["num2"];
- break;
- }
- }
- }
- ?>
- <br /><b>Notice</b>: Undefined index: num1 in <b>
- D:\php\PHPnow1.5.5\Package\vhosts\127.0.0.1\ceshi\jsq.php</b>
- on line <b>64</b><br />
- <body>
- <table align="center" border="1" width="500">
- <caption><h1>计算器</h1></caption>
- <form action="jsq.php">
- <tr>
- <td>
- <input type="text" size="5" name="num1" value="<?php echo $_GET["num1"] ?>" >
- </td>
- <td>
- <select name="ysf">
- <option value="+" <?php if($_GET["ysf"]=="+") echo "selected" ?>>+</option>
- <option value="-" <?php if($_GET["ysf"]=="-") echo "selected" ?>>-</option>
- <option value="x" <?php echo $_GET["ysf"]=="x"?"selected":"" ?>>x</option>
- <option value="/" <?php echo $_GET["ysf"]=="/"?"selected":"" ?>>/</option>
- <option value="%" <?php echo $_GET["ysf"]=="%"?"selected":"" ?>>%</option>
- </select>
- </td>
- <td>
- <input type="text" size="5" name="num2" value="<?php echo $_GET["num2"] ?>">
- </td>
- <td>
- <input type="submit" name="sub" value="计算">
- </td>
- </tr>
- <?php
- if(isset($_GET["sub"])){
- echo '<tr><td colspan="5">';
- if($num1 && $num1 && $numa && $numb){
- echo "结果:".$_GET["num1"]." ".$_GET["ysf"]." ".$_GET["num2"]." = ".$sum;
- }else{
- echo $message;
- }
- echo '</td></tr>';
- }
- ?>
- </form>
- </table>
- </body>
- </html>
js计算器,代码如下:
- <html>
- <head>
- <title>计算器</title>
- <script>
- <!--
- willclear=false //这个变量作为下一次输入是否先清空输入框的状态标志
- function backspace(){ //退格
- Calc.Input.value = Calc.Input.value.substring(0,Calc.Input.value.length-1)
- Calc.Input.title = Calc.Input.value.substring(0,Calc.Input.title.length-1)
- }//取长度为原长度减一的串,实现退格效果。
- function addoperator(){ //加操作符
- if (willclear){ //如果这次输入前需要清空输入框
- willclear=false //先清除标志,避免下次再次被错误地重复清空
- clearinput() //清除输入内容
- }
- Calc.Input.value += event.srcElement.innerText //给用于显示的加上刚输入的运算符
- Calc.Input.title += event.srcElement.name //给用于计算的表达式区加上刚输入的运算符
- }
- function clearinput(){ //清除输入
- Calc.Input.value='' //清空显示区
- Calc.Input.title='' //清空表达式
- }
- function result(){ //用于计算结果
- Calc.Input.value = eval(Calc.Input.title)//执行表达式区的表达式,返回结果到显示区。
- willclear=true//设定下次按键则先清除此次计算结果。
- }
- //-->
- </script>
- <style>
- button {width:40; border: 1 solid #808080;background-color: #FFFFFF}
- </style>
- </head>
- <body>
- <FORM NAME="Calc">
- <TABLE BORDER=4 bordercolorlight="#808080" bordercolor="#808080" width="250" height="38"><TR><TD width="291" height="39" bgcolor="#C0C0C0">
-
- <INPUT TYPE="text" NAME="Input" readonly Size="21" style="background-color: #F5F5F5; font-family: Arial; border: 1 solid #000000"> 
- <button NAME="back" OnClick="backspace()">←</button>
- </TD></TR><TR><TD width="291" height="38">
- <table border="0" width="100%" height="105" cellpadding="0">
- <tr>
- <td width="25%" height="31" align="center" bgcolor="#C0C0C0">
- <BUTTON NAME="1" OnClick="addoperator()">1</BUTTON>
- </td>
- <td width="25%" height="31" align="center" bgcolor="#C0C0C0">
- <BUTTON NAME="2" OnClick="addoperator()">2</BUTTON>
- </td>
- <td width="25%" height="31" align="center" bgcolor="#C0C0C0">
- <BUTTON NAME="3" OnClick="addoperator()">3</BUTTON>
- </td>
- <td width="25%" height="31" align="center" bgcolor="#C0C0C0">
- <BUTTON NAME="+" OnClick="addoperator()">+</BUTTON>
- </td>
- </tr>
- <tr>
- <td width="25%" height="31" align="center" bgcolor="#C0C0C0">
- <BUTTON NAME="4" OnClick="addoperator()">4</BUTTON>
- </td>
- <td width="25%" height="31" align="center" bgcolor="#C0C0C0">
- <BUTTON NAME="5" OnClick="addoperator()">5</BUTTON>
- </td>
- <td width="25%" height="31" align="center" bgcolor="#C0C0C0">
- <BUTTON NAME="6" OnClick="addoperator()">6</BUTTON>
- </td>
- <td width="25%" height="31" align="center" bgcolor="#C0C0C0">
- <BUTTON NAME="-" OnClick="addoperator()">-</BUTTON>
- </td>
- </tr>
- <tr>
- <td width="25%" height="31" align="center" bgcolor="#C0C0C0">
- <BUTTON NAME="7" OnClick="addoperator()">7</BUTTON>
- </td>
- <td width="25%" height="31" align="center" bgcolor="#C0C0C0">
- <BUTTON NAME="8" OnClick="addoperator()">8</BUTTON>
- </td>
- <td width="25%" height="31" align="center" bgcolor="#C0C0C0">
- <BUTTON NAME="9" OnClick="addoperator()">9</BUTTON>
- </td>
- <td width="25%" height="31" align="center" bgcolor="#C0C0C0">
- <BUTTON NAME="*" OnClick="addoperator()">×</BUTTON>
- </td>
- </tr>
- <tr>
- <td width="25%" height="31" align="center" bgcolor="#C0C0C0">
- <BUTTON NAME="clear" OnClick="clearinput()">C</BUTTON>
- </td>
- <td width="25%" height="31" align="center" bgcolor="#C0C0C0">
- <BUTTON NAME="0" OnClick="addoperator()">0</BUTTON>
- </td>
- <td width="25%" height="31" align="center" bgcolor="#C0C0C0">
- <BUTTON NAME="=" OnClick="result()">=</BUTTON>
- </td>
- <td width="25%" height="31" align="center" bgcolor="#C0C0C0">
- <BUTTON NAME="/" OnClick="addoperator()">÷</BUTTON>
- </td>
- </tr>
- </table>
- </TD></TR>
- </TABLE>
- </FORM>
- </body>
- </html>
Tags: PHP计算器 js计算器
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)