请老师看一下有什么改进的地方
来源:1-17 编程练习
雨之赞歌
2019-02-09 11:54:26
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<form action="#" method="post">
数值1:<input type="text" name="num1">
<select name="op">
<option value="+">+</option>
<option value="-">-</option>
<option value="*">*</option>
<option value="/">/</option>
<option value="%">%</option>
</select>
数值2:<input type="text" name="num2">
<input type="submit" value="提交">
</form>
</body>
</html>
<?php
header('content-type:text/html;charset=utf-8');
if ($_POST){
$num1=$_POST['num1'];
$num2=$_POST['num2'];
$op= $_POST['op'];
//判断是否为数值型
if (is_numeric($num1) && is_numeric($num2)){
switch ($op){
case '+':
$res=$num1+$num2;
break;
case '-':
$res=$num1-$num2;
break;
case '*':
$res=$num1*$num2;
break;
case '/':
//判断除数是否为0
switch ($num2){
case 0:
exit('0不能作为除数!');
default:
$res=$num1/$num2;
break;
}
default:
exit('非法操作!');
}
echo "运算结果为:<br/>",$num1,$op,$num2,"=",$res;
}else{
exit('请输入正确的数字!');
}
}
?>1回答
好帮手慕查理
2019-02-11
您好,选项中存在取余的操作,但代码中并没有取余计算的代码。2.当做完除法运算时应该break退出,否则会按顺序执行default区间操作。请参考:
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<form action="#" method="post">
数值1:<input type="text" name="num1">
<select name="op">
<option value="+">+</option>
<option value="-">-</option>
<option value="*">*</option>
<option value="/">/</option>
<option value="%">%</option>
</select>
数值2:<input type="text" name="num2">
<input type="submit" value="提交">
</form>
</body>
</html>
<?php
header('content-type:text/html;charset=utf-8');
if ($_POST){
$num1=$_POST['num1'];
$num2=$_POST['num2'];
$op= $_POST['op'];
//判断是否为数值型
if (is_numeric($num1) && is_numeric($num2)){
switch ($op){
case '+':
$res=$num1+$num2;
break;
case '-':
$res=$num1-$num2;
break;
case '*':
$res=$num1*$num2;
break;
case '/':
//判断除数是否为0
switch ($num2){
case 0:
exit('0不能作为除数!');
default:
$res=$num1/$num2;
break;
}
break;
case '%':
//判断除数是否为0
switch ($num2){
case 0:
exit('0不能作为除数!');
default:
$res=$num1%$num2;
break;
}
break;
default:
exit('非法操作!');
}
echo "运算结果为:<br/>",$num1,$op,$num2,"=",$res;
}else{
exit('请输入正确的数字!');
}
}
?>如果解决了您的问题。请采纳。祝学习愉快!
相似问题