PHP图形计算器(计算三角形矩形周长面积)
运用PHP面向对象的知识设计一个图形计算器,同时也运用到了抽象类知识,这个计算器可以计算三角形的周长和面积以及矩形的周长和面积。本图形计算器有4个页面:1.PHP图形计算器主页index.php; 2.形状的抽象类shape.class.php; 3三角形计算类triangle.class.php; 4.矩形计算类rect.class.php。
PHP图形计算器代码点击下载: php图形计算器.zip
代码分别如下:
PHP图形计算器主页:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
|
<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> |
形状的抽象类:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
abstract class Shape{ //形状的名称 public $name; //形状的计算面积方法 abstract function area(); //形状的计算周长的方法 abstract function zhou(); //形状的图形表单界面 abstract function view(); //形状的验证方法 abstract function yan($arr);} |
三角形计算类文件:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
|
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; }} |
矩形计算类文件:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
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图形计算器(计算三角形矩形周长面积)的更多相关文章
- python3 练手实例1 计算三角形周长和面积
def j(): a,b,c=map(float,input('请输入三角形三条边的长度,用空格隔开:').split()) if a>0 and b>0 and c>0 and a ...
- Java练习 SDUT-3339_计算长方形的周长和面积(类和对象)
计算长方形的周长和面积(类和对象) Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 设计一个长方形类Rect,计算长方形 ...
- 25.按要求编写一个Java应用程序: (1)编写一个矩形类Rect,包含: 两个属性:矩形的宽width;矩形的高height。 两个构造方法: 1.一个带有两个参数的构造方法,用于将width和height属性初化; 2.一个不带参数的构造方法,将矩形初始化为宽和高都为10。 两个方法: 求矩形面积的方法area() 求矩形周长的方法perimeter() (2)通过继承Rect类编写一个具有
package zhongqiuzuoye; //自己写的方法 public class Rect { public double width; public double height; Rect( ...
- OpenJudge计算概论-计算三角形面积【海伦公式】
/*============================================== 计算三角形面积 总时间限制: 1000ms 内存限制: 65536kB 描述 平面上有一个三角形,它的 ...
- 计算概论(A)/基础编程练习2(8题)/3:计算三角形面积
#include<stdio.h> #include<math.h> int main() { // 声明三角形的三个顶点坐标和面积 float x1, y1, x2, y2, ...
- Java入门:基础算法之计算三角形面积
本部分介绍如何计算三角形面积. /** * @author: 理工云课堂 * @description: 程序计算三角形的面积.三角形的底和高由用户输入 */ import java.util.Sca ...
- 大一C语言学习笔记(11)---编程篇--写一个程序,可以获取从键盘上输入的的三个数,并能够判断是否可以以这三个数字作为边长来构成一个三角形,如果可以的话,输出此三角形的周长及面积,要求 0 bug;
考核内容: 写一个程序,可以获取从键盘上输入的的三个数,并能够判断是否可以以这三个数字作为边长来构成一个三角形,如果可以的话,输出此三角形的周长及面积: 答案: #include<stdio.h ...
- PHP面向对象实例(图形计算器)
效果:
- php:兄弟连之面向对象版图形计算器1
曾经看细说PHP的时候就想做这个,可是一直没什么时间,这次总算忙里偷闲搞了代码量比較多的project. 首先,文档结构,都在一个文件夹下就好了,我的就例如以下. 一開始,进入index.php文件. ...
随机推荐
- 对List
class MyCompare implements Comparator//自定义比较方式 要实现Conparator的 compare 方法 { public int compare(O ...
- 简单的FIRST集演示程序
/* * 该程序用于计算某个非终结符的 FIRST 集合 * RexfieldVon * 2013年6月29日19:53:45 * 2013年7月3日22:01:57 修改 GetFIRST 例程以简 ...
- hdu 4607 Park Visit (dfs)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4607 首先如果k小于等于直径长度,那么答案为k−1.如果k大于直径长度,设直径长度为r,那么答案为r− ...
- Threading Module源码概述(二)
在threading 模块中,提供了列举当前所有子线程的操作.threading.enumerate.这个操作很简单,就是将_active和_limbo中维护的线程集合的信息输出. def enume ...
- poj 1458 Common Subsequence【LCS】
Common Subsequence Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 43132 Accepted: 17 ...
- 网络协议- HTTP
http:是用于www浏览的一个协议.tcp:是机器之间建立连接用的到的一个协议.
- WebSphere应用服务器中https 请求协议的相关注意事项(服务器使用代理上Internet)
最近遇到个需求需要web服务器应用通过https方式请求外部Internet服务器的接口,一开始本地测试时使用以下代码: String businessCode = "SH30580&quo ...
- Spring Boot 入门
Spring Boot自动配置 http://blog.javachen.com/2015/03/13/how-to-run-spring-boot-application.html http://b ...
- npm常用命令总结
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #000000; background-color: rgba(2 ...
- Y2错题解析
数据流程图描述信息的来龙去脉和实际流程,反映信息在系统中流动.处理和存储的情况.程序结构图用来描述程序结构,一般由构成系统的要素和表达要素间关系的连线或箭头构成.因果图是一种发现问题"根本原 ...