博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
php实现图形计算器
阅读量:5774 次
发布时间:2019-06-18

本文共 3981 字,大约阅读时间需要 13 分钟。

存档:

index.php

1  2      3         图形计算器开发 4         
5 6 7 8
9

图形(周长&面积)计算器

10 11
矩形12
三角形13
圆形14
15
25 26

form.class.php

1 
action = $action; 7 $this->shape = isset($_GET["action"])?$_GET["action"]:"rect"; 8 } 9 10 function __toString(){11 $form='
';12 $shape="get".ucfirst($this->shape);13 $form .=$this->$shape();14 $form .='
';15 $form .='
';16 return $form;17 }18 19 private function getRect(){20 $input = '请输入|矩形|的宽度和高度:

';21 $input .= '宽度:

';22 $input .= '高度:
';23 return $input;24 }25 26 private function getTriangle(){27 $input = '请输入|三角形|的三条边:

';28 $input .= '第一条边:

';29 $input .= '第二条边:
';30 $input .= '第三条边:
';31 return $input;32 }33 34 private function getCircle(){35 $input = '请输入|圆形|的半径:

';36 $input .= '半径:

';37 return $input;38 }39 }40 ?>

shape.class.php

1 
shapeName.$message; 9 echo ''.$message.'必须为非负值的数字,并且不能为空
';10 return false;11 }12 else{13 return true;14 }15 }16 }17 ?>

result.class.php

1 
shape = new $_GET['action'](); 6 } 7 8 function __toString(){ 9 $result = $this->shape->shapeName.'的周长:'.round($this->shape->perimeter(),2).'
';10 $result .= $this->shape->shapeName.'的面积:'.round($this->shape->area(),2).'
';11 return $result;12 }13 }14 ?>

rect.class.php

1 
shapeName = "矩形"; 7 if($this->validate($_POST["width"],"宽度") & $this->validate($_POST["height"],"高度")){ 8 $this->width = $_POST["width"]; 9 $this->height = $_POST["height"];10 }11 }12 13 function area(){14 return $this->width*$this->height;15 }16 17 function perimeter(){18 return 2*($this->width+$this->height);19 }20 }21 ?>

triangle.class.php

1 
shapeName = "三角形"; 8 if($this->validate($_POST["side1"],"第一条边") & 9 $this->validate($_POST["side2"],"第二条边") & 10 $this->validate($_POST["side3"],"第三条边")){11 if($this->validateSum($_POST["side1"],$_POST["side2"],$_POST["side3"])){12 $this->side1 = $_POST["side1"];13 $this->side2 = $_POST["side2"];14 $this->side3 = $_POST["side3"];15 }16 else{17 echo '三角形的两边之和要大于第三边
';18 } 19 }20 }21 22 function area(){23 $s = ($this->side1+$this->side2+$this->side3)/2;24 return sqrt($s*($s-$this->side1)*($s-$this->side2)*($s-$this->side3));25 }26 27 function perimeter(){28 return $this->side1+$this->side2+$this->side3;29 }30 31 private function validateSum($s1,$s2,$s3){32 if((($s1+$s2)>$s3) && (($s1+$s3)>$s2) && (($s2+$s3)>$s1)){33 return true;34 }35 else{36 return false;37 }38 }39 }40 ?>

circle.class.php

1 
shapeName = "图形"; 6 if($this->validate($_POST['radius'],'半径')){ 7 $this->radius = $_POST['radius']; 8 } 9 }10 11 function area(){12 return pi()*$this->radius*$this->radius;13 }14 15 function perimeter(){16 return 2*pi()*$this->radius;17 }18 }19 ?>

结果如下:

 

转载地址:http://bdaux.baihongyu.com/

你可能感兴趣的文章
Puppet 配置管理工具安装
查看>>
Bug多,也别乱来,别被Bug主导了开发
查看>>
sed 替换基础使用
查看>>
高性能的MySQL(5)创建高性能的索引一B-Tree索引
查看>>
oracle备份与恢复--rman
查看>>
图片变形的抗锯齿处理方法
查看>>
Effective C++ Item 32 确保你的 public 继承模子里出来 is-a 关联
查看>>
phpstorm安装laravel-ide-helper实现自动完成、代码提示和跟踪
查看>>
python udp编程实例
查看>>
TortoiseSVN中图标的含义
查看>>
js原生继承之——构造函数式继承实例
查看>>
linux定时任务的设置
查看>>
[CareerCup] 13.3 Virtual Functions 虚函数
查看>>
[Angular 2] ng-model and ng-for with Select and Option elements
查看>>
Tasks and Back stack 详解
查看>>
关于EXPORT_SYMBOL的作用浅析
查看>>
成功的背后!(给所有IT人)
查看>>
在SpringMVC利用MockMvc进行单元测试
查看>>
Nagios监控生产环境redis群集服务战
查看>>
Angular - -ngKeydown/ngKeypress/ngKeyup 键盘事件和鼠标事件
查看>>