当前位置:首页 > PHP教程 > php应用 > 列表

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

发布:smiling 来源: PHP粉丝网  添加日期:2021-04-26 18:51:53 浏览: 评论:0 

这篇文章主要介绍了PHP实现的简单三角形、矩形周长面积计算器分享,本文的实现相对较简单,同时提供了代码文件下载,需要的朋友可以参考下

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

代码分别如下:

PHP图形计算器主页:

  1. <html> 
  2.     <head> 
  3.         <title>简单的图形计算器</title> 
  4.         <meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> 
  5.     </head> 
  6.    
  7.     <body> 
  8.         <center> 
  9.             <h1>简单的图形计算器</h1> 
  10.    
  11.             <a href="index.php?action=rect">矩形</a> || 
  12.             <a href="index.php?action=triangle">三角形</a>  
  13.         </center> 
  14.    
  15.         <hr><br> 
  16.    
  17.     <?php 
  18.             error_reporting(E_ALL & ~E_NOTICE); 
  19.    
  20.             //设置自动加载这个程序需要的类文件 
  21.             function __autoload($classname){ 
  22.                 include strtolower($classname).".class.php"
  23.             } 
  24.    
  25.             //判断用户是否有选择单击一个形状链接 
  26.             if(!emptyempty($_GET['action'])) { 
  27.                 //第一步:创建形状的对象 
  28.                 $classname = ucfirst($_GET['action']); 
  29.    
  30.                 $shape=new $classname($_POST); 
  31.                 //第二步:调用形状的对象中的界面view() 
  32.                 $shape -> view(); 
  33.    
  34.                 //第三步:用户是否提交了对应图形界面的表单 
  35.                 if(isset($_POST['dosubmit'])) { 
  36.                     //第四步:查看用户输出的数据是否正确, 失败则提示 
  37.                     if($shape->yan($_POST)) { 
  38.                         //计算图形的周长和面积 
  39.                         echo $shape->name."的周长为:".$shape->zhou()."<br>"
  40.                         echo $shape->name."的面积为:".$shape->area()."<br>"
  41.                     } 
  42.                 } 
  43.    
  44.             //如果用户没有单击链接, 则是默认访问这个主程序 
  45.             }else { 
  46.                 echo "请选择一个要计算的图形!<br>"
  47.    
  48.             } 
  49.    
  50.         ?> 
  51.     </body> 
  52. </html> 

形状的抽象类:

  1. abstract class  Shape{ 
  2.     //形状的名称 
  3.     public $name
  4.    
  5.     //形状的计算面积方法 
  6.     abstract function area(); 
  7.    
  8.     //形状的计算周长的方法 
  9.     abstract function zhou(); 
  10.    
  11.     //形状的图形表单界面 
  12.     abstract function view(); 
  13.     //形状的验证方法 
  14.     abstract function yan($arr); 
  15.    

三角形计算类文件:

  1. class Triangle extends Shape { 
  2.     private $bian1
  3.     private $bian2
  4.     private $bian3
  5.    
  6.     function __construct($arr = array()) { 
  7.         if(!emptyempty($arr)) { 
  8.             $this->bian1 = $arr['bian1']; 
  9.             $this->bian2 = $arr['bian2']; 
  10.             $this->bian3 = $arr['bian3']; 
  11.    
  12.         } 
  13.    
  14.         $this->name = "三角形"
  15.     } 
  16.    
  17.     function area() { 
  18.         $p =    ($this->bian1 + $this->bian2 + $this->bian3)/2; 
  19.    
  20.         return sqrt($p*($p-$this->bian1)*($p-$this->bian2)*($p-$this->bian3)); 
  21.     } 
  22.    
  23.     function zhou() { 
  24.         return $this->bian1 + $this->bian2 + $this->bian3; 
  25.     } 
  26.    
  27.     function view() { 
  28.         $form = '<form action="index.php?action=triangle" method="post">'
  29.         $form .= $this->name.'第一个边:<input type="text" name="bian1" value="'.$_POST['bian1'].'" /><br>'
  30.         $form .= $this->name.'第二个边:<input type="text" name="bian2" value="'.$_POST['bian2'].'" /><br>'
  31.         $form .= $this->name.'第三个边:<input type="text" name="bian3" value="'.$_POST['bian3'].'" /><br>'
  32.         $form .= '<input type="submit" name="dosubmit" value="计算"><br>'
  33.         $form .='<form>'
  34.         echo $form
  35.     } 
  36.    
  37.     function yan($arr) { 
  38.         $bj = true; 
  39.         if($arr['bian1'] < 0) { 
  40.             echo "第一个边不能小于0!<br>"
  41.             $bj = false; 
  42.         } 
  43.    
  44.         if($arr['bian2'] < 0) { 
  45.             echo "第二个边不能小于0!<br>"
  46.             $bj = false; 
  47.         } 
  48.    
  49.         if($arr['bian3'] < 0) { 
  50.             echo "第三个边不能小于0!<br>"
  51.             $bj = false; 
  52.         } 
  53.    
  54.         if(($arr['bian1']+$arr['bian2'] < $arr['bian3']) || ($arr['bian1'] + $arr['bian3'] < $arr['bian2']) || ($arr['bian2']+$arr['bian3'] < $arr['bian1'])) { 
  55.             echo "两边之和必须大于第三个边"
  56.             $bj = false; 
  57.         } 
  58.    
  59.         return $bj;  
  60.     } 

矩形计算类文件:

  1. class Rect extends Shape { 
  2.     private $width
  3.     private $height
  4.    
  5.     function __construct($arr=array()) { 
  6.    
  7.         if(!emptyempty($arr)) { 
  8.             $this->width = $arr['width']; 
  9.             $this->height = $arr['height']; 
  10.         } 
  11.         $this->name = "矩形"
  12.     } 
  13.    
  14.     function area() { 
  15.         return $this->width * $this->height; 
  16.     } 
  17.    
  18.     function zhou() { 
  19.         return 2*($this->width + $this->height); 
  20.     } 
  21.    
  22.     function view() { 
  23.         $form = '<form action="index.php?action=rect" method="post">'
  24.         $form .= $this->name.'的宽:<input type="text" name="width" value="'.$_POST['width'].'" /><br>'
  25.         $form .= $this->name.'的高:<input type="text" name="height" value="'.$_POST['height'].'" /><br>'
  26.         $form .= '<input type="submit" name="dosubmit" value="计算"><br>'
  27.         $form .='<form>'
  28.         echo $form
  29.     } 
  30.    
  31.     function yan($arr) { 
  32.         $bg = true; 
  33.         if($arr['width'] < 0) { 
  34.             echo $this->name."的宽不能小于0!<br>"
  35.             $bg = false;     
  36.         } //www.phpfensi.com 
  37.    
  38.         if($arr['height'] < 0) { 
  39.             echo $this->name."的高度不能小于0!<br>"
  40.             $bg = false; 
  41.         } 
  42.    
  43.         return $bg
  44.     } 
  45.    

Tags: PHP三角形 PHP矩形周长

分享到: