用PHP怎样实现计算图形周长和面积的计算器?
导读:这篇文章给大家分享的是用PHP怎样实现计算图形周长和面积的计算器。对新手学习PHP会有一定的参考价值,因此分享给大家做个参考,文中示例代码介绍的非常详细,感兴趣的朋友接下来一起跟随小编看看吧。 主函数:index.php <!doct...
这篇文章给大家分享的是用PHP怎样实现计算图形周长和面积的计算器。对新手学习PHP会有一定的参考价值,因此分享给大家做个参考,文中示例代码介绍的非常详细,感兴趣的朋友接下来一起跟随小编看看吧。
主函数:index.php
!doctype html>
html>
head>
meta charset="utf-8">
title>
图形计算器/title>
style>
* {
margin: 0px;
padding: 0px;
}
#contains {
width: 500px;
margin: 20px auto;
background: #0C0;
text-align: center;
}
h1 {
width: 500px;
height: 60px;
}
a {
font-size: 20px;
text-decoration: none;
}
#footer {
width: 300px;
background: #fff;
margin: 0 auto;
padding: 5px 10px;
border-radius: 150px;
}
/style>
/head>
body>
div id="contains">
h1>
简易图形计算器/h1>
a href='index.php?action=rect'>
矩形/a>
|
a href='index.php?action=triangle'>
三角形/a>
|
a href='index.php?action=cirle'>
圆形/a>
hr>
?php
ini_set("display_errors", "On");
//开启错误调试
//设置错误报告的级别,除了无关紧要的'注意',其他的报告都输出
error_reporting(E_ALL &
~E_NOTICE);
function __autoload($classname) {
//魔术方法 自动加载类
include strtolower($classname).".class.php";
//将类名转化成小写
}
// include "shape.class.php";
// include "rect.class.php";
if (!empty($_GET['action'])) {
// echo "传送成功";
$classname = ucfirst($_GET['action']);
$shape = new $classname($_POST);
$shape->
view($_POST);
if (isset($_POST['sub'])) {
echo "div id='footer'>
";
if ($shape->
yan($_POST)) {
echo "b>
".$shape->
name."的周长".$shape->
zhou()."/b>
"."br>
";
echo "br>
";
echo "b>
".$shape->
name."的面积".$shape->
area()."/b>
"."br>
";
}
else {
echo "b>
错误:$shape->
error/b>
";
}
echo "/div>
";
}
}
else {
echo "请选择一个图形";
}
?>
/div>
/body>
/html>
先定义一个抽象类
?php
abstract class Shape {
private $name;
private $error;
abstract function area();
abstract function zhou();
abstract function view($arr);
abstract function yan($arr);
}
?>
矩形类的编写
?php
class Rect extends Shape {
private $width;
private $height;
function __construct($arr = array()) {
if (!empty($arr)) {
$this->
width = $arr['width'];
$this->
height = $arr['height'];
}
$this->
name = "矩形";
$this->
error = '';
}
function area() {
return $this->
width * $this->
height;
}
function zhou() {
return ($this->
width+$this->
height) * 2;
}
function view($arr) {
$form .= "form action='index.php?action=rect' method='post'>
";
$form .= "请输入".$arr['name']."的宽度:input type='text' name='width' value='".$_POST['width']."'/>
br>
";
$form .= "br>
";
$form .= "请输入".$arr['name']."的长度:input type='text' name='height' value='".$_POST['height']."'/>
br>
";
$form .= "br>
";
$form .= "input type='submit' name='sub' value='提交'/>
";
$form .= "input type='reset' name='ret' value='重置'/>
";
$form .= "/form>
";
echo $form;
}
function yan($arr) {
$bz = true;
if ($arr['width'] 0) {
$this->
error .= "宽度小于0;";
$bz = false;
}
else {
if (!is_numeric($arr['width'])) {
$this->
error .= "宽不是数字;";
$bz = false;
}
}
if ($arr['height'] 0) {
$this->
error .= "宽度小于0;";
$bz = false;
}
else {
if (!is_numeric($arr['height'])) {
$this->
error .= "高不是数字;";
$bz = false;
}
}
return $bz;
}
}
?>
三角形类:
?php
class Triangle extends Shape {
private $bian1;
private $bian2;
private $bian3;
function __construct($arr = array()) {
if (!empty($arr)) {
$this->
bian1 = $arr['bian1'];
$this->
bian2 = $arr['bian2'];
$this->
bian3 = $arr['bian3'];
}
$this->
name = "三角形";
$this->
error = '';
}
function area() {
$p = ($this->
bian1 + $this->
bian2 + $this->
bian3) / 2;
// p(p-a)(p-b)(p-c)
return sqrt($p*($p-$this->
bian1)*($p-$this->
bian2)*($p-$this->
bian3));
}
function zhou() {
return $this->
bian1+$this->
bian2+$this->
bian3;
}
function view($arr) {
$form .= "form action='index.php?action=triangle' method='post'>
";
$form .= "请输入".$arr['name']."的第一条边:input type='text' name='bian1' value='".$_POST['bian1']."'/>
br>
";
$form .= "br>
";
$form .= "请输入".$arr['name']."的第二条边:input type='text' name='bian2' value='".$_POST['bian2']."'/>
br>
";
$form .= "br>
";
$form .= "请输入".$arr['name']."的第三条边:input type='text' name='bian3' value='".$_POST['bian3']."'/>
br>
";
$form .= "br>
";
$form .= "input type='submit' name='sub' value='提交'/>
";
$form .= "input type='reset' name='ret' value='重置'/>
";
$form .= "/form>
";
echo $form;
}
function yan($arr) {
$bz = true;
if ($arr['bian1'] 0) {
$this->
error .= "第一条边小于0;";
$bz = false;
}
else {
if (!is_numeric($arr['bian1'])) {
$this->
error .= "第一条边不是数字;";
$bz = false;
}
}
if ($arr['bian2'] 0) {
$this->
error .= "第二条边小0;";
$bz = false;
}
else {
if (!is_numeric($arr['bian2'])) {
$this->
error .= "第二条边不是数字;";
$bz = false;
}
}
if ($arr['bian2'] 0) {
$this->
error .= "第三条边小于0;";
$bz = false;
}
else {
if (!is_numeric($arr['bian2'])) {
$this->
error .= "第三条边不是数字;";
$bz = false;
}
}
if (($this->
bian1+$this->
bian2) $this->
bian3 ||($this->
bian1+$this->
bian3) $this->
bian2 ||($this->
bian2+$this->
bian3) $this->
bian1) {
$this->
error .= "三条边不能构成三角形";
$bz = false;
}
return $bz;
}
}
?>
其他的类只要按照上面的格式改下就很好写出来了。
以上就是关于用PHP怎样实现计算图形周长和面积的计算器的介绍,本文只是提供了一种实现思路,代码仅供参考,需要的朋友可以了解看看,希望对大家学习PHP有帮助,想要了解更多可以继续浏览网络其他相关的文章。
文本转载自脚本之家
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 用PHP怎样实现计算图形周长和面积的计算器?
本文地址: https://pptw.com/jishu/653139.html
