用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