侯体宗的博客
  • 首页
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

PHP实现的简单三角形、矩形周长面积计算器分享

php  /  管理员 发布于 7年前   217

运用PHP面向对象的知识设计一个图形计算器,同时也运用到了抽象类知识,这个计算器可以计算三角形的周长和面积以及矩形的周长和面积。本图形计算器有4个页面:1.PHP图形计算器主页index.php;    2.形状的抽象类shape.class.php;    3三角形计算类triangle.class.php;    4.矩形计算类rect.class.php。

PHP图形计算器代码点击下载:   php图形计算器.zip

代码分别如下:

PHP图形计算器主页:

            简单的图形计算器                         
            

简单的图形计算器

             矩形 ||            三角形         
         

      view();                 //第三步:用户是否提交了对应图形界面的表单                if(isset($_POST['dosubmit'])) {                    //第四步:查看用户输出的数据是否正确, 失败则提示                    if($shape->yan($_POST)) {                        //计算图形的周长和面积                        echo $shape->name."的周长为:".$shape->zhou()."
";                        echo $shape->name."的面积为:".$shape->area()."
";                    }                }             //如果用户没有单击链接, 则是默认访问这个主程序            }else {                echo "请选择一个要计算的图形!
";             }         ?>    

形状的抽象类:

abstract class  Shape{    //形状的名称    public $name;     //形状的计算面积方法    abstract function area();     //形状的计算周长的方法    abstract function zhou();     //形状的图形表单界面    abstract function view();    //形状的验证方法    abstract function yan($arr); }

三角形计算类文件:

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 = "三角形";    }     function area() {        $p =    ($this->bian1 + $this->bian2 + $this->bian3)/2;         return sqrt($p*($p-$this->bian1)*($p-$this->bian2)*($p-$this->bian3));    }     function zhou() {        return $this->bian1 + $this->bian2 + $this->bian3;    }     function view() {        $form = '
';        $form .= $this->name.'第一个边:
';        $form .= $this->name.'第二个边:
';        $form .= $this->name.'第三个边:
';        $form .= '
';        $form .='';        echo $form;    }     function yan($arr) {        $bj = true;        if($arr['bian1'] < 0) {            echo "第一个边不能小于0!
";            $bj = false;        }         if($arr['bian2'] < 0) {            echo "第二个边不能小于0!
";            $bj = false;        }         if($arr['bian3'] < 0) {            echo "第三个边不能小于0!
";            $bj = false;        }         if(($arr['bian1']+$arr['bian2'] < $arr['bian3']) || ($arr['bian1'] + $arr['bian3'] < $arr['bian2']) || ($arr['bian2']+$arr['bian3'] < $arr['bian1'])) {            echo "两边之和必须大于第三个边";            $bj = false;        }         return $bj;     }}

矩形计算类文件:

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 = "矩形";    }     function area() {        return $this->width * $this->height;    }     function zhou() {        return 2*($this->width + $this->height);    }     function view() {        $form = '';        $form .= $this->name.'的宽:
';        $form .= $this->name.'的高:
';        $form .= '
';        $form .='';        echo $form;    }     function yan($arr) {        $bg = true;        if($arr['width'] < 0) {            echo $this->name."的宽不能小于0!
";            $bg = false;            }         if($arr['height'] < 0) {            echo $this->name."的高度不能小于0!
";            $bg = false;        }         return $bg;    } }

您可能感兴趣的文章:

  • PHP实现简单计算器小程序
  • PHP基于堆栈实现的高级计算器功能示例
  • PHP实现的简单在线计算器功能示例
  • PHP房贷计算器实例代码,等额本息,等额本金
  • php实现天干地支计算器示例
  • 用php简单实现加减乘除计算器
  • 关于Windows 不能在 本地计算器 启动 Apache2(phpstudy)
  • php学习之简单计算器实现代码
  • 利用php+mysql来做一个功能强大的在线计算器
  • PHP实现简易计算器功能


  • 上一条:
    php单态设计模式(单例模式)实例
    下一条:
    php中ftp_chdir与ftp_cdup函数用法
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • Laravel从Accel获得5700万美元A轮融资(0个评论)
    • PHP 8.4 Alpha 1现已发布!(0个评论)
    • 用Time Warden监控PHP中的代码处理时间(0个评论)
    • 在PHP中使用array_pop + yield实现读取超大型目录功能示例(0个评论)
    • Property Hooks RFC在PHP 8.4中越来越接近现实(0个评论)
    • 近期文章
    • 在windows10中升级go版本至1.24后LiteIDE的Ctrl+左击无法跳转问题解决方案(0个评论)
    • 智能合约Solidity学习CryptoZombie第四课:僵尸作战系统(0个评论)
    • 智能合约Solidity学习CryptoZombie第三课:组建僵尸军队(高级Solidity理论)(0个评论)
    • 智能合约Solidity学习CryptoZombie第二课:让你的僵尸猎食(0个评论)
    • 智能合约Solidity学习CryptoZombie第一课:生成一只你的僵尸(0个评论)
    • 在go中实现一个常用的先进先出的缓存淘汰算法示例代码(0个评论)
    • 在go+gin中使用"github.com/skip2/go-qrcode"实现url转二维码功能(0个评论)
    • 在go语言中使用api.geonames.org接口实现根据国际邮政编码获取地址信息功能(1个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf分页文件功能(95个评论)
    • gmail发邮件报错:534 5.7.9 Application-specific password required...解决方案(0个评论)
    • 近期评论
    • 122 在

      学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..
    • 123 在

      Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..
    • 原梓番博客 在

      在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
    • 博主 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..
    • 1111 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
    • 2016-10
    • 2016-11
    • 2017-06
    • 2017-07
    • 2017-08
    • 2017-09
    • 2017-11
    • 2017-12
    • 2018-01
    • 2018-02
    • 2018-03
    • 2020-03
    • 2020-04
    • 2020-05
    • 2020-06
    • 2020-07
    • 2020-09
    • 2021-02
    • 2021-03
    • 2021-04
    • 2021-05
    • 2021-06
    • 2021-07
    • 2021-08
    • 2021-09
    • 2021-10
    • 2021-11
    • 2021-12
    • 2022-01
    • 2022-02
    • 2022-05
    • 2022-06
    • 2022-07
    • 2022-08
    • 2022-09
    • 2022-10
    • 2022-11
    • 2022-12
    • 2023-01
    • 2023-02
    • 2023-03
    • 2023-04
    • 2023-05
    • 2023-06
    • 2023-07
    • 2023-08
    • 2023-09
    • 2023-10
    • 2023-11
    • 2023-12
    • 2024-01
    • 2024-02
    • 2024-03
    • 2024-04
    • 2024-05
    • 2024-06
    • 2024-07
    • 2024-09
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客