侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 129004 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

PHP实现简易图形计算器

2023-12-29 星期五 / 0 评论 / 0 点赞 / 15 阅读 / 6477 字

本文实例为大家分享了PHP实现简易图形计算器的具体代码,供大家参考,具体内容如下主函数:index.php<!doctype html><html><head><meta charset="utf-8"><title>图

本文实例为大家分享了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; } }?>

其他的类只要按照上面的格式改下就很好写出来了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程圈。

广告 广告

评论区