请老师看一下有什么改进的地方

来源: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('请输入正确的数字!');
 }
}
?>

如果解决了您的问题。请采纳。祝学习愉快!

0

0 学习 · 4928 问题

查看课程