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实现简易图形计算器 的全部内容, 来源链接: utcz.com/p/224543.html

回到顶部