本文实例为大家分享了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><?phpini_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>
先定义一个抽象类
<?phpabstract class Shape {private $name;private $error;abstract function area();abstract function zhou();abstract function view($arr);abstract function yan($arr);}?>
矩形类的编写
<?phpclass 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;}}?>
三角形类:
<?phpclass 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实现简易计算器
- PHP实现简易计算器功能
- PHP实现的简单在线计算器功能示例
- php编程实现简单的网页版计算器功能示例
- PHP房贷计算器实例代码,等额本息,等额本金
- PHP实现的简单三角形、矩形周长面积计算器分享
- 用php简单实现加减乘除计算器
- php学习之简单计算器实现代码
- PHP实现计算器小功能