PHP实现简单计算器

这是一个使用PHP编写的简单计算器网页应用,包含加、减、乘、除和取模运算。页面中有一个表单用于输入两个数字和选择运算符,提交后在页面上直接显示计算结果。同时,代码包含了错误处理机制,检查输入是否为空及除数是否为零,确保了运算的正确性和安全性。
摘要由CSDN通过智能技术生成
<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<meta name="viewport" content="width=device-width, initial-scale=1.0">
	<title>Document</title>
</head>
<body>
	<?php
	$error="";//声明一个错误信息变量,如果在表单中输入有误将错误信息放入该变量
	$num1=$_POST["num1"]??"";//初始化第一个数
	$num2=$_POST["num2"]??"";//初始化第二个数
	$operator=$_POST["operator"]??"";//初始化运算符号

	//单路分支,使用isset($_POST["sub"])判断用户是否有提交操作
	if(isset($_POST["sub"])){
		if($num1==""){//验证第一个数是否不空
			$error.="第一个数不能为空'<br>'";
		}elseif(!is_numeric($num1)){//验证第一个数是否为数字
			$error.="第一个数不是数字'<br>'";
		}
		if($num2==""){//验证第二个数是否不空
			$error.="第二个数不能为空'<br>'";
		}elseif(!is_numeric($num2)){//验证第二个数是否为数字
			$error.="第二个数不是数字'<br>'";
		}

		//使用单路分支,组合条件判断
		if(($operator=='/'||$operator=='%')&&$num2==0){
			$error.="被除数不能为0'<br>'";
		}
	}
	?>
	<table align="center" border="1" width="500">
		<caption><h1>计算器</h1></caption>
		<form action="" method="post">
		<tr>
			<td>
				<input type="text" name="num1" id="" size="5" value="<?php echo $num1 ?>">
				<!-- 将用户输入的数据计算后还显示在输入表单中 -->
			</td>
			<td>
				<select name="operator" id="">
				<!-- 如果用户选择运算符后将其保留在界面上 -->
					<option value="+" <?php if($operator=="+") echo "selected" ?>>+</option>
					<option value="-" <?php if($operator=="-") echo "selected" ?>>-</option>
					<option value="*" <?php if($operator=="*") echo "selected" ?>>*</option>
					<option value="/" <?php if($operator=="/") echo "selected" ?>>/</option>
					<option value="%" <?php if($operator=="%") echo "selected" ?>>%</option>
				</select>
			</td>
			<td>
				<input type="text" name="num2" id="" size="5" value="<?php echo $num2 ?>">
			</td>
			<td>
				<input type="submit" value="计算" name="sub">
			</td>
		</tr>
		<?php
		//使用单路分支,用户有提交操作才去执行结果
			if(isset($_POST["sub"])){
				echo '<tr> <td colspan="5" align="center">';
				//双路分支,正解输入输出结果,有错误则输出错误信息
				if(empty($error)){	///如果错误消息为空,说明输入正确的数据可以运算
					$sum=0;//声明一个变量用来接收运算的结果
					switch($operator){//多路分支switch,判断用户使用的运算符号
						case "+":
							$sum=$num1+$num2;
							break;
						case "-":
							$sum=$num1-$num2;
							break;
						case "*":
							$sum=$num1*$num2;
							break;
						case "/":
							$sum=$num1/$num2;
							break;
						case "%":
							$sum=$num1%$num2;
							break;
					}
					echo "结果:{$num1}{$operator}{$num2}={$sum}";
				}else{
					echo $error;
				}
				echo '</td></tr>';
			}
		?>
		</form>
	</table>
</body>
</html>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值