- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章PHP实现简易图形计算器由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
本文实例为大家分享了PHP实现简易图形计算器的具体代码,供大家参考,具体内容如下 。
主函数:index.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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
|
<!doctype html>
<
html
>
<
head
>
<
meta
charset
=
"utf-8"
>
<
title
>图形计算器</
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
>简易图形计算器</
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"); //开启错误调试
//设置错误报告的级别,除了无关紧要的'注意',其他的报告都输出
error_reporting(E_ALL & ~E_NOTICE);
function __autoload($classname) { //魔术方法 自动加载类
include strtolower($classname).".class.php"; //将类名转化成小写
}
// 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
>错误:$shape->error</
b
>";
}
echo "</
div
>";
}
} else {
echo "请选择一个图形";
}
?>
</
div
>
</
body
>
</
html
>
|
先定义一个抽象类 。
1
2
3
4
5
6
7
8
9
10
|
<?php
abstract
class
Shape {
private
$name
;
private
$error
;
abstract
function
area();
abstract
function
zhou();
abstract
function
view(
$arr
);
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
|
<?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 .=
"宽不是数字;"
;
$bz
= false;
}
}
if
(
$arr
[
'height'
]< 0) {
$this
->error .=
"宽度小于0;"
;
$bz
= false;
}
else
{
if
(!
is_numeric
(
$arr
[
'height'
])) {
$this
->error .=
"高不是数字;"
;
$bz
= false;
}
}
return
$bz
;
}
}
?>
|
三角形类:
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
62
63
64
65
66
67
68
69
70
71
72
73
74
|
<?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 .=
"第一条边不是数字;"
;
$bz
= false;
}
}
if
(
$arr
[
'bian2'
]< 0) {
$this
->error .=
"第二条边小0;"
;
$bz
= false;
}
else
{
if
(!
is_numeric
(
$arr
[
'bian2'
])) {
$this
->error .=
"第二条边不是数字;"
;
$bz
= false;
}
}
if
(
$arr
[
'bian2'
]< 0) {
$this
->error .=
"第三条边小于0;"
;
$bz
= false;
}
else
{
if
(!
is_numeric
(
$arr
[
'bian2'
])) {
$this
->error .=
"第三条边不是数字;"
;
$bz
= false;
}
}
if
((
$this
->bian1+
$this
->bian2) <
$this
->bian3 ||(
$this
->bian1+
$this
->bian3) <
$this
->bian2 ||(
$this
->bian2+
$this
->bian3) <
$this
->bian1) {
$this
->error .=
"三条边不能构成三角形"
;
$bz
= false;
}
return
$bz
;
}
}
?>
|
其他的类只要按照上面的格式改下就很好写出来了.
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我.
原文链接:https://blog.csdn.net/shofe11/article/details/37340181 。
最后此篇关于PHP实现简易图形计算器的文章就讲到这里了,如果你想了解更多关于PHP实现简易图形计算器的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我目前正在尝试使用 ParaView Calculator-Filter 将给定的笛卡尔坐标 (x,y,z) 转换为球坐标 (r, theta, phi),其中 theta 是极角,phi 是方位角。
已关闭。这个问题是 not reproducible or was caused by typos 。目前不接受答案。 这个问题是由拼写错误或无法再重现的问题引起的。虽然类似的问题可能是 on-top
我有这个问题,我想显示如果0/0,输出是:“不能将0除以自身”。如何调整我的代码以便可以显示该输出?如果是这样,我应该使用什么代码才能实现我的目标? 下面是我的代码: #include using
我正在尝试创建一个也支持负数的计算器,并最终创建一个 lisp 风格的树。 我像这样定义词法分析器规则: INT :'-'? [0-9]+ ; LBRACKET : '('; RBRACKET :
我正在开发一个基本的 JavaScript 计算器,我也希望能够开始计算负数。现在,如果我在输入数字之前单击“-”,“-”将不会显示,因此我只能从正数开始。有人可以告诉我如何将其包含在我的代码中吗?
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
这是我第一次尝试 Java。该项目是一个计算器,它需要一个数字、一个运算符(operator)信号(+、-、*、/)和另一个数字来创建方程并给出其最终值,然后询问用户是否要重新启动程序另一个方程或不是
所以我写了这个脚本;它有点像我找到并拼凑起来的计算器的大杂烩。 KeyListener 来自 Java - oracle - .com 网站。顺便说一句,我对此非常陌生,不知道我在做什么。 我正在尝试
我正在尝试创建一个也支持负数的计算器,并最终创建一个 lisp 风格的树。 我像这样定义词法分析器规则: INT :'-'? [0-9]+ ; LBRACKET : '('; RBRACKET :
我正在开发一个基本的 JavaScript 计算器,我也希望能够开始计算负数。现在,如果我在输入数字之前单击“-”,“-”将不会显示,因此我只能从正数开始。有人可以告诉我如何将其包含在我的代码中吗?
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我开始在java中创建一个计算器,我试图循环遍历字符串输入,如果输入中有任何整数,则将它们添加到ArrayList calcOperands中。在 parseInput() 方法中,我使用 charA
我正忙着制作计算器,但不知怎的,整数没有被使用,我不知道为什么。我尝试修复它,但我不知道该怎么做。我使用带有事件的按钮来计算答案,也许有问题。这是我的代码:顺便说一句,我使用 Eclipse
我的主类中有这段代码。我的问题是,GPA 是用总分除以类(class)来计算的。它没有给我完整的号码。 EX,如果总数为 14,类(class)为 4,则为 3.5,我的代码只给我 3.0。有谁知道为
我需要创建一个可以加、减、乘、除、绝对值和舍入的计算器。这是我到目前为止所拥有的 import java.util.Scanner; public class Calculator { pub
我是一名 Java Noob,正在研究 GUI 计算器,但我刚刚来到这里..我已经有了按钮,我需要绑定(bind)这些数字并存储在运算符 ( + - */) 之间的某个位置以显示在我的 JTextAr
这是我的作业。但是,我无法让结果发挥作用。我希望它打印出来为: > 2*7*6 2 * 7 ---- 14 * 6 ---- 84 等等。我希望无论我输入多少个数字,代码都能正常工作
这个问题已经有答案了: What does a "Cannot find symbol" or "Cannot resolve symbol" error mean? (18 个回答) 已关闭 6 年
大家好,感谢您帮助我。 我用 C# 制作了这个计算器,但遇到了一个问题。 当我添加像 5+5+5 这样的东西时,它给了我正确的结果,但是当我想减去两个以上的数字并且还想除或乘以两个以上的数字时,我没有
我一直在开发计算器作为自己的学习项目。它工作正常,只是我无法弄清楚如何阻止人们添加应用程序破坏输入,例如 1++-*/4。我尝试了各种方法,例如将当前显示拆分为一个数组,并将其与具有所有运算符的另一个
我是一名优秀的程序员,十分优秀!