计算器程序代码php,求解答php一个简易的计算器的程序问题?

8e628229ee491fde98140c8b50b979dd.png

qq_long_63989300

问题1:err以及flag变量均已在代码上部php代码中定义,但是运行时还是提示在html代码块中flag和err没有定义请检查你2个变量的定义位置,你会发现是在if(!empty($_POST['sub'])){}方法体中,因为着,如果没有提交数据,这2个变量是不会被定义的,所以要在提交判断之前就进行定义。问题2:另外就是提示变量num1和变量num2没有定义,这样的提示是否是需要$num1 = $_POST['num1']; 这样定义一下?num1和num2在程序中是没有定义的,所以需要在提交判断之前就先定义,而$num1 = $_POST['num1']; 的操作,必须在有数据提交的时候才能执行,否则由于没有post数据,会导致出现错误,最后,html代码体中,不能使用$_POST['num1']这样的方式取值,因为在首次进入页面的时候,没有post数据,所以$_POST['num1']也会报错。以下为修改后代码,请注意加粗的代码:<?php //计算器处理的PHP代码//tip:这里要先定义$num1='';$num2='';$ysf='';//tip:提示变量的定义要在判断数据提交之前$err = "";$flag = true;$sum = 0;if(!empty($_POST['sub'])){//echo "提交";//tip:检测到数据提交,进行赋值,以便在页面上展示数据$num1=$_POST['num1'];$num2=$_POST['num2'];$ysf=$_POST['ysf'];if($_POST['num1'] == ""){$flag = false;$err .="第一个数不能为空
";}else{if(!is_numeric($_POST['num1'])){$flag = false;$err .="第一个不是数字,无法计算
";}}if($_POST['num2'] == ""){$flag = false;$err .="第二个数不能为空";}else{if(!is_numeric($_POST['num2'])){$flag = false;$err .="第二个不是数字,无法计算
";}}if($flag){switch($_POST['ysf']){case "+":$sum = $_POST['num1'] + $_POST['num2'];break;case "-":$sum = $_POST['num1'] - $_POST['num2'];break;case "x":$sum = $_POST['num1'] * $_POST['num2'];break;case "/":if($_POST['num2'] == 0){$flag = false;$err .= "除数不能为0";break;}else{$sum = $_POST['num1'] / $_POST['num2'];break;}case "%":if($_POST['num2'] == 0){$flag = false;$err .= "除数不能为0";break;}else{$sum = $_POST['num1'] % $_POST['num2'];break;}}}}?>

简易计算器

一个简易计算器

>+>->x>/>%<?phpif ($flag){    echo "运算结果是:".$num1.' '.$ysf.' '.$num2.' = '.$sum;}else{echo $err;}?>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值