老师看看这种写法对不对

来源:1-17 编程练习

weixin_慕码人71622

2020-02-14 09:12:48

<!doctype html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
<form action="#" method="post">
    数值1:<input type="text" name="num1" id="">
    <select name="op" id="">
        <option value="+">+</option>
        <option value="-">-</option>
        <option value="*">*</option>
        <option value="/">/</option>
        <option value="%">%</option>
    </select>
    数值2:<input type="text" name="num2" id="">
    <input type="submit" name="act" value="提交">
    <hr>
</form>
<?php
//错误警告级别设置
error_reporting(E_ALL&~E_NOTICE);
//接收数值
$num1=$_POST['num1'];
$num2=$_POST['num2'];
$op=$_POST['op'];
$act=$_POST['act'];
//根据不同的操作实现不同的计算器功能
if ($act){
    //判断num1和num2是否为数值
    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 '/':
                //判断$num2是否为0
                if ($num2 != 0){
                    $res=$num1/$num2;
                    break;
                }else{
                    exit('除数不能为0');
                }
            case '%':
                $res=$num1%$num2;
                break;
        }
        echo "运算结果为:<br/>{$num1}{$op}{$num2}={$res}";
    }else{
        echo '非法操作,请输入合法数值';
    }
}
?>
</body>
</html>


写回答

1回答

guly

2020-02-14

你好,代码逻辑和运行结果是正确的,祝学习愉快!

0

0 学习 · 4928 问题

查看课程