<html>
<head>
<title>PHP实现简单计算器</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
</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;
}
}
}
?>
<body>
<table align="center" border="1" width="500">
<caption><h1>计算器</h1></caption>
<form action="jp.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>

最新文章

  1. 菜鸟Python学习笔记第二天:关于Python黑客。
  2. 扩展AuthorizeAttribute
  3. NeHe OpenGL教程 第四十二课:多重视口
  4. Is it possible to change the iPhone device name programmatically?
  5. poj 2201 构造
  6. 201521123007《Java程序设计》第9周学习总结
  7. Ansible------角色
  8. []、()、None的区别
  9. kubernetes CRD学习笔记
  10. c# 非调试状态下面执行
  11. Ubuntu postgres 内网 安装 卸载
  12. C# 字符串大写转小写,小写转大写,数字保留,其他除外
  13. 【读书笔记】iOS-加速计与陀螺仪
  14. html 類 class
  15. 版本控制-GitHub
  16. 【BZOJ4566】【HAOI2016】找相同字符
  17. 【刷题】BZOJ 4059 [Cerc2012]Non-boring sequences
  18. 使用Cobbler批量部署Linux和Windows:Cobbler服务端部署(一)
  19. vue组件懒加载(Load On Demand)
  20. 遍历ListView,查出每一项的内容

热门文章

  1. nyoj 1100 WAJUEJI which home strong!
  2. Yii 设置 flash消息 创建一个渐隐形式的消息框
  3. FZU2132 - LQX的作业(概率论)
  4. WEB DYNPRO SAP HELP
  5. HDU 2876 Ellipse, again and again
  6. chrome 全屏无法退出
  7. Java 线程池的原理与实现(转)
  8. careercup-数组和字符串1.7
  9. C#随机函数random()典型用法集锦
  10. Linux查看系统负载常用命令