主頁 > 知識(shí)庫 > PHP實(shí)現(xiàn)簡易圖形計(jì)算器

PHP實(shí)現(xiàn)簡易圖形計(jì)算器

熱門標(biāo)簽:電子地圖標(biāo)注怎么修改 臨沂crm外呼系統(tǒng)平臺(tái) 地圖標(biāo)注符號(hào)樣式有 菏澤語音外呼系統(tǒng)運(yùn)營商 如何在世界地圖標(biāo)注 梧州市機(jī)器人外呼系統(tǒng)怎么樣 天客通地圖標(biāo)注 公司外呼系統(tǒng)中心 廈門400電話辦理選易號(hào)網(wǎng)

本文實(shí)例為大家分享了PHP實(shí)現(xiàn)簡易圖形計(jì)算器的具體代碼,供大家參考,具體內(nèi)容如下

主函數(shù):index.php

!doctype html>
html>
head>
meta charset="utf-8">
title>圖形計(jì)算器/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>簡易圖形計(jì)算器/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"); //開啟錯(cuò)誤調(diào)試
 //設(shè)置錯(cuò)誤報(bào)告的級(jí)別,除了無關(guān)緊要的'注意',其他的報(bào)告都輸出
 error_reporting(E_ALL  ~E_NOTICE);
 
 function __autoload($classname) { //魔術(shù)方法 自動(dòng)加載類
  include strtolower($classname).".class.php"; //將類名轉(zhuǎn)化成小寫
 }
 // 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>錯(cuò)誤:$shape->error/b>";
  }
  echo "/div>";
  }
  
 } else {
  echo "請選擇一個(gè)圖形";
 }
 
 ?>
 
 /div>
/body>
/html>

先定義一個(gè)抽象類

?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 .= "寬不是數(shù)字;";
   $bz = false;
  }
  }
  if ($arr['height'] 0) {
   $this->error .= "寬度小于0;";
  $bz = false;
  } else {
   if (!is_numeric($arr['height'])) {
   $this->error .= "高不是數(shù)字;";
   $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 .= "第一條邊不是數(shù)字;";
   $bz = false;
  }
  }
  if ($arr['bian2'] 0) {
   $this->error .= "第二條邊小0;";
  $bz = false;
  } else {
   if (!is_numeric($arr['bian2'])) {
   $this->error .= "第二條邊不是數(shù)字;";
   $bz = false;
  }
  }
  if ($arr['bian2'] 0) {
   $this->error .= "第三條邊小于0;";
  $bz = false;
  } else {
   if (!is_numeric($arr['bian2'])) {
   $this->error .= "第三條邊不是數(shù)字;";
   $bz = false;
  }
  }
  if (($this->bian1+$this->bian2)  $this->bian3 ||($this->bian1+$this->bian3)  $this->bian2 ||($this->bian2+$this->bian3)  $this->bian1) {
   $this->error .= "三條邊不能構(gòu)成三角形";
  $bz = false;
  }
  return $bz;
 }
 }
?>

其他的類只要按照上面的格式改下就很好寫出來了。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • PHP實(shí)現(xiàn)簡單的計(jì)算器
  • php實(shí)現(xiàn)簡易計(jì)算器
  • PHP實(shí)現(xiàn)簡易計(jì)算器功能
  • PHP實(shí)現(xiàn)的簡單在線計(jì)算器功能示例
  • php編程實(shí)現(xiàn)簡單的網(wǎng)頁版計(jì)算器功能示例
  • PHP房貸計(jì)算器實(shí)例代碼,等額本息,等額本金
  • PHP實(shí)現(xiàn)的簡單三角形、矩形周長面積計(jì)算器分享
  • 用php簡單實(shí)現(xiàn)加減乘除計(jì)算器
  • php學(xué)習(xí)之簡單計(jì)算器實(shí)現(xiàn)代碼
  • PHP實(shí)現(xiàn)計(jì)算器小功能

標(biāo)簽:雞西 迪慶 貴陽 綿陽 瀘州 白城 郴州 黃石

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《PHP實(shí)現(xiàn)簡易圖形計(jì)算器》,本文關(guān)鍵詞  PHP,實(shí)現(xiàn),簡易,圖形,計(jì)算器,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《PHP實(shí)現(xiàn)簡易圖形計(jì)算器》相關(guān)的同類信息!
  • 本頁收集關(guān)于PHP實(shí)現(xiàn)簡易圖形計(jì)算器的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章