PHP实现的简单三角形、矩形周长面积计算器分享
《PHP实例:PHP实现的简单三角形、矩形周长面积计算器分享》要点: 运用PHP面向对象的知识设计一个图形计算器,同时也运用到了抽象类知识,这个计算器可以计算三角形的周长和面积以及矩形的周长和面积.本图形计算器有4个页面:1.PHP图形计算器主页index.php;??? 2.形状的抽象类shape.class.php;??? 3三角形计算类triangle.class.php;??? 4.矩形计算类rect.class.php. PHP图形计算器代码点击下载:?? php图形计算器.zip 代码分别如下: PHP图形计算器主页: <html> ????<head> ????????<title>简单的图形计算器</title> ????????<meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> ????</head> ? ????<body> ????????<center> ????????????<h1>简单的图形计算器</h1> ? ????????????<a href="index.php?action=rect">矩形</a> || ????????????<a href="index.php?action=triangle">三角形</a> ????????</center> ? ????????<hr><br> ? ????<?php ????????????error_reporting(E_ALL & ~E_NOTICE); ? ????????????//设置自动加载这个程序需要的类文件 ????????????function __autoload($classname){ ????????????????include strtolower($classname).".class.php"; ????????????} ? ????????????//判断用户是否有选择单击一个形状链接 ????????????if(!empty($_GET['action'])) { ????????????????//第一步:创建形状的对象 ????????????????$classname = ucfirst($_GET['action']); ? ????????????????$shape=new $classname($_POST); ????????????????//第二步:调用形状的对象中的界面view() ????????????????$shape -> view(); ? ????????????????//第三步:用户是否提交了对应图形界面的表单 ????????????????if(isset($_POST['dosubmit'])) { ????????????????????//第四步:查看用户输出的数据是否正确,失败则提示 ????????????????????if($shape->yan($_POST)) { ????????????????????????//计算图形的周长和面积 ????????????????????????echo $shape->name."的周长为:".$shape->zhou()."<br>"; ????????????????????????echo $shape->name."的面积为:".$shape->area()."<br>"; ????????????????????} ????????????????} ? ????????????//如果用户没有单击链接,则是默认拜访这个主程序 ????????????}else { ????????????????echo "请选择一个要计算的图形!<br>"; ? ????????????} ? ?????????> ????</body> </html> 形状的抽象类: 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 action="index.php?action=triangle" method="post">'; ????????$form .= $this->name.'第一个边:<input type="text" name="bian1" value="'.$_POST['bian1'].'" /><br>'; ????????$form .= $this->name.'第二个边:<input type="text" name="bian2" value="'.$_POST['bian2'].'" /><br>'; ????????$form .= $this->name.'第三个边:<input type="text" name="bian3" value="'.$_POST['bian3'].'" /><br>'; ????????$form .= '<input type="submit" name="dosubmit" value="计算"><br>'; ????????$form .='<form>'; ????????echo $form; ????} ? ????function yan($arr) { ????????$bj = true; ????????if($arr['bian1'] < 0) { ????????????echo "第一个边不能小于0!<br>"; ????????????$bj = false; ????????} ? ????????if($arr['bian2'] < 0) { ????????????echo "第二个边不能小于0!<br>"; ????????????$bj = false; ????????} ? ????????if($arr['bian3'] < 0) { ????????????echo "第三个边不能小于0!<br>"; ????????????$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 action="index.php?action=rect" method="post">'; ????????$form .= $this->name.'的宽:<input type="text" name="width" value="'.$_POST['width'].'" /><br>'; ????????$form .= $this->name.'的高:<input type="text" name="height" value="'.$_POST['height'].'" /><br>'; ????????$form .= '<input type="submit" name="dosubmit" value="计算"><br>'; ????????$form .='<form>'; ????????echo $form; ????} ? ????function yan($arr) { ????????$bg = true; ????????if($arr['width'] < 0) { ????????????echo $this->name."的宽不克不及小于0!<br>"; ????????????$bg = false;??? ????????} ? ????????if($arr['height'] < 0) { ????????????echo $this->name."的高度不克不及小于0!<br>"; ????????????$bg = false; ????????} ? ????????return $bg; ????} ? } 《PHP实例:PHP实现的简单三角形、矩形周长面积计算器分享》是否对您有启发,欢迎查看更多与《PHP实例:PHP实现的简单三角形、矩形周长面积计算器分享》相关教程,学精学透。编程之家 52php.cn为您提供精彩教程。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |