实训项目:PHP计算器功能程序实现

简介:   设计一个网页,让用户输人一个运算式,采用下拉列表提供“加、减、乘、除、模(%)”至少4种运算符。当用户单击“求值”按钮时,自动计算结果并显示出提示信息(可以是弹框显示结果,也可以是在浏览器的页面显示结果。

 🧮 题目要求

      设计一个网页,让用户输人一个运算式,采用下拉列表提供“加、减、乘、除、模(%)”至少4种运算符。当用户单击“求值”按钮时,自动计算结果并显示出提示信息(可以是弹框显示结果,也可以是在浏览器的页面显示结果,有时间的同学把程序UI界面设计一些样式效果,做漂亮一点)。

     实训目的:

     1.掌握各种流程控制语句的综合应用;

     2.熟练掌握PHP自定义函数的灵活运用方法。

效果图如下所示

image.gif

image.gif

🧮 html代码

<!DOCTYPE html><htmllang="en"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge"><metaname="viewport"content="width=device-width, initial-scale=1.0"><metahttp-equiv="Content-Type"content="text/html; charset=utf-8"/><title>Document</title></head><body><divclass="box1"><h1>简易计算器</h1><fieldset><legend>操作面板</legend><formaction=""method="post"id="form1"name="form1"><p>输入数据</p><p><inputtype="text"id="num1"name="num1"placeholder="请输入第一个数"></p><p><inputtype="text"id="num2"name="num2"placeholder="请输入第二个数"></p><p>选择运算符</p><p><selectname="s1"id="s1"><optionvalue="+">+</option><optionvalue="-">-</option><optionvalue="*">*</option><optionvalue="/">/</option><optionvalue="%"selected="selected">%</option></select></p><p><inputtype="submit"id="send"name="send"value="点击计算"style="margin-right: 20px;"><inputtype="reset"id="clean"name="clean"value="清空数字"></p></form><divclass="anwser"><fieldsetstyle="height: 170px;"><legend>计算结果:</legend></fieldset></div></fieldset><divclass="box2"><divclass="box_bottom"style="color:#b2b0b0;font-weight: bolder;font-family: Courier New">© <spanstyle="letter-spacing: 1.5px;font-size: 1.6rem;;">2022 GHW・WebSite</span></div></div></div></body></html>

image.gif

🧮 css代码

body    {
background: #000;
color: #fff;
    }
.box1    {
position: relative;
width: 31.25rem;
height:28rem;
border: 0.425remdouble#ccc;
margin: 0auto;
top: 6.25rem;
box-shadow: 0.625rem0.625rem1.25rem0.3125remrgb(93, 93, 93);
padding: 20px;
    }
h1    {
text-align: center;
color: #fff;
    }
input:hover  {
background-color: #000;
color: #fff;
border:1pxsolid#fff;
transition: .8s;
  }
.box2    {
margin: 0auto;
width: 300px;
height: 50px;
/* border: 1px solid #fff; */margin-top: 40px;
    }
.anwser    {
position: absolute;
width: 200px;
height: 200px;
border: 1pxsolid#fff;
top: 150px;
left: 280px;
padding: 5px;
    }

image.gif

🧮 php代码

<?php@$num1=$_POST["num1"];
@$num2=$_POST["num2"];
if (isset($num1) &&isset($num2)) {
if (empty($num1)) {
// echo "<script>alert('第一个数不能为空')</script>";echo"第一个数不能为空<br>";
    }
if (empty($num2)) {
// echo "<script>alert('第二个数不能为空')</script>";echo"第二个数不能为空<br>";
    }
if (!is_numeric($num1)) {
// echo "<script>alert('第一个空请输入有效数字')</script>";echo"第一个空请输入有效数字<br>";
    }
if (!is_numeric($num2)) {
// echo "<script>alert('第二个空请输入有效数字')</script>";echo"第二个空请输入有效数字<br>";
    }
if (isset($_POST["send"]) &&!empty($_POST["send"])) {
$s1=$_POST["s1"];
functionf1($num1, $num2, $s1) {
if (is_numeric($num1) &&is_numeric($num2)) {
$jg=0;
$s1=$_POST["s1"];
$str="";
for ($i=0; $i<5; $i++) {@$str. =$s1[$i];
                }
if ($str=='+') {
$jg=$num1+$num2;
                } elseif ($str=='-') {
$jg=$num1-$num2;
                } elseif ($str=='*') {
$jg=$num1*$num2;
                } elseif ($str=='/') {
if ($num2==0) {
// echo "<script>alert('0不能作为除数使用')</script>";echo"0不能作为除数使用<br>";
                    }@$jg=$num1/$num2;
                }
echo"{$num1}{$str}{$num2}={$jg}";
            }
        }
f1($num1, $num2, $s1);
    }
}
?>

image.gif

🧮 完整代码

<!DOCTYPE html><htmllang="en"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge"><metaname="viewport"content="width=device-width, initial-scale=1.0"><metahttp-equiv="Content-Type"content="text/html; charset=utf-8"/><title>Document</title><style>body    {
background: #000;
color: #fff;
    }
.box1    {
position: relative;
width: 31.25rem;
height:28rem;
border: 0.425remdouble#ccc;
margin: 0auto;
top: 6.25rem;
box-shadow: 0.625rem0.625rem1.25rem0.3125remrgb(93, 93, 93);
padding: 20px;
    }
h1    {
text-align: center;
color: #fff;
    }
input:hover  {
background-color: #000;
color: #fff;
border:1pxsolid#fff;
transition: .8s;
  }
.box2    {
margin: 0auto;
width: 300px;
height: 50px;
/* border: 1px solid #fff; */margin-top: 40px;
    }
.anwser    {
position: absolute;
width: 200px;
height: 200px;
border: 1pxsolid#fff;
top: 150px;
left: 280px;
padding: 5px;
    }
</style></head><body><divclass="box1"><h1>简易计算器</h1><fieldset><legend>操作面板</legend><formaction=""method="post"id="form1"name="form1"><p>输入数据</p><p><inputtype="text"id="num1"name="num1"placeholder="请输入第一个数"></p><p><inputtype="text"id="num2"name="num2"placeholder="请输入第二个数"></p><p>选择运算符</p><p><selectname="s1"id="s1"><optionvalue="+">+</option><optionvalue="-">-</option><optionvalue="*">*</option><optionvalue="/">/</option><optionvalue="%"selected="selected">%</option></select></p><p><inputtype="submit"id="send"name="send"value="点击计算"style="margin-right: 20px;"><inputtype="reset"id="clean"name="clean"value="清空数字"></p></form><divclass="anwser"><fieldsetstyle="height: 170px;"><legend>计算结果:</legend><?php@$num1 = $_POST["num1"];@$num2 = $_POST["num2"];if (isset($num1) && isset($num2)) {if (empty($num1)) {// echo "<script>alert('第一个数不能为空')</script>";echo "第一个数不能为空<br>";}if (empty($num2)) {// echo "<script>alert('第二个数不能为空')</script>";echo "第二个数不能为空<br>";}if (!is_numeric($num1)) {// echo "<script>alert('第一个空请输入有效数字')</script>";echo "第一个空请输入有效数字<br>";}if (!is_numeric($num2)) {// echo "<script>alert('第二个空请输入有效数字')</script>";echo "第二个空请输入有效数字<br>";}if (isset($_POST["send"]) && !empty($_POST["send"])) {$s1 = $_POST["s1"];function f1($num1, $num2, $s1) {if (is_numeric($num1) && is_numeric($num2)) {$jg = 0;$s1 = $_POST["s1"];$str = "";for ($i = 0; $i < 5; $i++) {@$str. = $s1[$i];}if ($str == '+') {$jg = $num1 + $num2;} else if ($str == '-') {$jg = $num1 - $num2;} else if ($str == '*') {$jg = $num1 * $num2;} else if ($str == '/') {if ($num2 == 0) {// echo "<script>alert('0不能作为除数使用')</script>";echo "0不能作为除数使用<br>";}@$jg = $num1 / $num2;}echo "{$num1}{$str}{$num2}={$jg}";}}f1($num1, $num2, $s1);}}?></fieldset></div></fieldset><divclass="box2"><divclass="box_bottom"style="color:#b2b0b0;font-weight: bolder;font-family: Courier New">© <spanstyle="letter-spacing: 1.5px;font-size: 1.6rem;;">2022 GHW・WebSite</span></div></div></div></body></html>

image.gif

🧮 实现效果

image.gif

目录
相关文章
|
9天前
|
JSON 自然语言处理 前端开发
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
104 72
【01】对APP进行语言包功能开发-APP自动识别地区ip后分配对应的语言功能复杂吗?-成熟app项目语言包功能定制开发-前端以uniapp-基于vue.js后端以laravel基于php为例项目实战-优雅草卓伊凡
|
2月前
|
运维 JavaScript 应用服务中间件
os-copilot安装与多项功能测评,帮助开发人员PHP环境排查问题
本文介绍了OS Copilot在ECS上 Alibaba Cloud Linux的安装与使用,并对其多项参数进行了功能测评。OS Copilot是为操作系统提供智能化辅助的工具,支持自动化任务、智能推荐、故障排查等功能。安装时需检查是否已安装(`rpm -q os-copilot`),若未安装则用`yum install os-copilot`命令安装,并配置AccessKey信息连接阿里云服务。通过测试不同参数命令,如`-t`参数,展示了其自动化执行和智能生成回答的能力,显著提升运维效率。
os-copilot安装与多项功能测评,帮助开发人员PHP环境排查问题
|
6天前
|
数据库连接 PHP 数据库
【YashanDB知识库】PHP使用ODBC使用数据库绑定参数功能异常
【YashanDB知识库】PHP使用ODBC使用数据库绑定参数功能异常
|
6天前
|
PHP 数据库
【YashanDB知识库】PHP使用OCI接口使用数据库绑定参数功能异常
【YashanDB知识库】PHP使用OCI接口使用数据库绑定参数功能异常
|
3月前
|
移动开发 小程序 前端开发
使用php开发圈子系统特点,如何获取圈子系统源码,社交圈子运营以及圈子系统的功能特点,圈子系统,允许二开,免费源码,APP 小程序 H5
开发一个圈子系统(也称为社交网络或社群系统)可以是一个复杂但非常有趣的项目。以下是一些关键特点和步骤,帮助你理解如何开发、获取源码以及运营一个圈子系统。
207 4
|
4月前
|
JavaScript PHP UED
16 PHP实现图书删除功能
路老师在知乎上分享了PHP语言的知识,帮助大家入门和深入了解PHP。本文介绍了如何实现图书删除功能,通过点击删除按钮触发`deleteBook.php`文件,完成删除操作并返回列表页。同时,还新增了一个“新增”按钮,优化了用户体验。
43 2
16 PHP实现图书删除功能
|
4月前
|
JavaScript PHP
17 PHP 实现批量删除功能
路老师在本文中继续优化图书删除功能,实现批量删除图书。通过添加删除按钮、表格前的复选框以及实现PHP后端逻辑,展示了完整的删除流程和效果。
69 5
|
4月前
|
数据库连接 PHP
15 PHP实现图书修改功能
路老师分享了如何使用PHP实现图书信息的修改功能。首先,在列表页面点击编辑按钮,跳转至`editBook.php`,通过ID获取图书信息并展示在`edit.html`页面。用户提交修改后,`updateBook.php`处理更新请求,成功后返回到图书列表页。纯干货,技术知识满满。
48 2
|
4月前
|
PHP
14 PHP实现图书添加功能
路老师分享PHP语言知识,帮助大家入门并深入了解PHP。本文介绍如何实现图书添加功能,包括创建HTML表单和PHP后端处理逻辑,最后展示实际效果。
54 2
|
PHP
PHP面向对象程序设计的61条黄金法则
PHP面向对象程序设计的61条黄金法则   你不必严格遵守这些原则,违背它们也不会被处以宗教刑罚。但你应当把这些原则看成警铃,若违背了其中的一条,那么警铃就会响起 。 ----- Arthur J.Riel   (1)所有数据都应该隐藏在所在的类的内部。
958 0

热门文章

最新文章