实训项目: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

目录
相关文章
|
6天前
|
JavaScript PHP UED
16 PHP实现图书删除功能
路老师在知乎上分享了PHP语言的知识,帮助大家入门和深入了解PHP。本文介绍了如何实现图书删除功能,通过点击删除按钮触发`deleteBook.php`文件,完成删除操作并返回列表页。同时,还新增了一个“新增”按钮,优化了用户体验。
14 2
16 PHP实现图书删除功能
|
6天前
|
JavaScript PHP
17 PHP 实现批量删除功能
路老师在本文中继续优化图书删除功能,实现批量删除图书。通过添加删除按钮、表格前的复选框以及实现PHP后端逻辑,展示了完整的删除流程和效果。
20 8
|
6天前
|
数据库连接 PHP
15 PHP实现图书修改功能
路老师分享了如何使用PHP实现图书信息的修改功能。首先,在列表页面点击编辑按钮,跳转至`editBook.php`,通过ID获取图书信息并展示在`edit.html`页面。用户提交修改后,`updateBook.php`处理更新请求,成功后返回到图书列表页。纯干货,技术知识满满。
15 2
|
6天前
|
PHP
14 PHP实现图书添加功能
路老师分享PHP语言知识,帮助大家入门并深入了解PHP。本文介绍如何实现图书添加功能,包括创建HTML表单和PHP后端处理逻辑,最后展示实际效果。
14 2
|
2月前
|
域名解析 关系型数据库 MySQL
基于PHPEnv的本地环境搭建—PHP第一个项目:HelloWorld(从安装到运行)
该文章指导如何使用PHPEnv搭建本地PHP开发环境,并通过一个简单的"Hello World"程序演示从安装到运行的全过程。
基于PHPEnv的本地环境搭建—PHP第一个项目:HelloWorld(从安装到运行)
|
2月前
|
设计模式 算法 PHP
PHP中的设计模式:策略模式的深入探索与实践在软件开发的广袤天地中,PHP以其独特的魅力和强大的功能,成为无数开发者手中的得力工具。而在这条充满挑战与机遇的征途上,设计模式犹如一盏明灯,指引着我们穿越代码的迷雾,编写出更加高效、灵活且易于维护的程序。今天,就让我们聚焦于设计模式中的璀璨明珠——策略模式,深入探讨其在PHP中的实现方法及其实际应用价值。
策略模式,这一设计模式的核心在于它为软件设计带来了一种全新的视角和方法。它允许我们在运行时根据不同情况选择最适合的解决方案,从而极大地提高了程序的灵活性和可扩展性。在PHP这门广泛应用的编程语言中,策略模式同样大放异彩,为开发者们提供了丰富的创作空间。本文将从策略模式的基本概念入手,逐步深入到PHP中的实现细节,并通过一个具体的实例来展示其在实际项目中的应用效果。我们还将探讨策略模式的优势以及在实际应用中可能遇到的挑战和解决方案,为PHP开发者提供一份宝贵的参考。
|
1月前
|
存储 缓存 安全
如何使用 PHP 将天气跟踪集成到 Web 应用程序中
如何使用 PHP 将天气跟踪集成到 Web 应用程序中
32 0
|
2月前
|
PHP
深入浅出PHP之文件上传功能
【9月更文挑战第26天】本文将带你了解PHP中的文件上传功能,从基本概念到实战操作,一步步教你如何实现文件上传。我们将通过代码示例和详细的解释,让你轻松掌握这一技能。
|
2月前
|
设计模式 存储 算法
PHP中的设计模式:策略模式的深入解析与应用在软件开发的浩瀚海洋中,PHP以其独特的魅力和强大的功能吸引了无数开发者。作为一门历史悠久且广泛应用的编程语言,PHP不仅拥有丰富的内置函数和扩展库,还支持面向对象编程(OOP),为开发者提供了灵活而强大的工具集。在PHP的众多特性中,设计模式的应用尤为引人注目,它们如同精雕细琢的宝石,镶嵌在代码的肌理之中,让程序更加优雅、高效且易于维护。今天,我们就来深入探讨PHP中使用频率颇高的一种设计模式——策略模式。
本文旨在深入探讨PHP中的策略模式,从定义到实现,再到应用场景,全面剖析其在PHP编程中的应用价值。策略模式作为一种行为型设计模式,允许在运行时根据不同情况选择不同的算法或行为,极大地提高了代码的灵活性和可维护性。通过实例分析,本文将展示如何在PHP项目中有效利用策略模式来解决实际问题,并提升代码质量。
|
2月前
|
安全 关系型数据库 MySQL
PHP与MySQL交互:从入门到实践
【9月更文挑战第20天】在数字时代的浪潮中,掌握PHP与MySQL的互动成为了开发动态网站和应用程序的关键。本文将通过简明的语言和实例,引导你理解PHP如何与MySQL数据库进行对话,开启你的编程之旅。我们将从连接数据库开始,逐步深入到执行查询、处理结果,以及应对常见的挑战。无论你是初学者还是希望提升技能的开发者,这篇文章都将为你提供实用的知识和技巧。让我们一起探索PHP与MySQL交互的世界,解锁数据的力量!