php简易计算器
php循环结构
案例:php简易计算器

步骤:
1.先绘制这个表格
2.根据表单提交的sub属性判断一下,是否点击计算了
(GET方式提交的数据,通过地址栏传递的)
3.计算,并将结果输入到第二行
问题:当点击计算后,之前输入数字及运算符消失,因为点击计算后提交到当前页面,等于刷新
当点击之后,运算符默认又恢复到+
解决:通过selected属性控制下拉列表是否被选中
单路分支,可以不写{}
4.完善
如果用户输入是字符串或者是空值,提示不能为空或者不能为字符串
通过地址栏上有没有 sub=计算 这个参数来判断用户有没有点击计算
<html>
<head>
<meta charset="utf-8"/>
</head>
<?php
$result='';
$message='';
$num1=true;
$num2=true;
$numa=true;
$numb=true; if($_GET['sub']=='计算'){
//用户点击了计算按钮
if($_GET['num1']==''){
$num1=false;
$message.='第一个不能为空<br/>';
//return false; //停止代码继续执行
}
if($_GET['num2']==''){
$num2=false;
$message.='第二个不能为空<br/>';
//return false; //停止代码继续执行
}
if(!is_numeric($_GET['num1'])){
$numa=false;
$message.='第一个数字必须为数值<br/>';
}
if(!is_numeric($_GET['num2'])){
$numb=false;
$message.='第二个数字必须为数值<br/>';
}
if($num1&&$num2&&$numa&&$numb){
switch($_GET['ysf']){
case '+':
$result=$_GET['num1']+$_GET['num2'];
break; case '-':
$result=$_GET['num1']-$_GET['num2'];
break; case '*':
$result=$_GET['num1']*$_GET['num2'];
break; case '/':
$result=$_GET['num1']/$_GET['num2'];
break; case '%':
$result=$_GET['num1']%$_GET['num2'];
break;
}
} echo $result;
}
?>
<body>
<table align="center" cellspacing='4px' cellpadding='0'>
<caption><h2>php的简易计算器</h2></caption>
<form action='jsq.php' method='GET' >
<tr>
<td><input type="text" name='num1' value="<?php echo $_GET['num1']?>"/></td>
<td>
<select name='ysf'>
<option <?php if($_GET['ysf']=='+')echo 'selected';?>>+</option>
<option <?php if($_GET['ysf']=='-'){echo 'selected';}?>>-</option>
<option <?php if($_GET['ysf']=='*'){echo 'selected';}?>>*</option>
<option <?php if($_GET['ysf']=='/'){echo 'selected';}?>>/</option>
<option <?php if($_GET['ysf']=='%'){echo 'selected';}?>>%</option>
</select>
</td>
<td><input type="text" name='num2' value="<?php echo $_GET['num2']?>"/></td>
<td><input type="submit" name="sub" value="计算"/></td>
</tr>
<tr>
<td colspan='4'>
<?php
if($num1&&$num2&&$numa&&$numb){
echo "运算结果是:".$_GET['num1'].$_GET['ysf'].$_GET['num2']."=".$result;
}else{
echo $message;
} ?>
</td>
</tr>
</form>
</table>
</body>
</html>
php简易计算器的更多相关文章
- 自制c#简易计算器
这是一个课堂作业,我觉得作为一个简易的计算器不需要态度复杂的东西,可能还有一些bug,有空再慢慢加强. using System;using System.Collections.Generic;us ...
- 剖析简易计算器带你入门微信小程序开发
写在前面,但是重点在后面 这是教程,也不是教程. 可以先看Demo的操作动图,看看是个什么玩意儿,GitHub地址(https://github.com/dunizb/wxapp-sCalc) 自从微 ...
- PHP学习笔记02——简易计算器
<!DOCTYPE html> <html> <head> <title>PHP简易计算器</title> </head> &l ...
- JavaScript之简易计算器
<head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8&quo ...
- 菜鸟学习Struts——简易计算器
这是学习Struts的一个简单的例子文件结构如下: 1.配置Struts环境 2.新建input.jsp,success.jsp,error.jsp input.jsp代码如下: <%@ pag ...
- Python之实现一个简易计算器
自己动手写计算器 一.功能分析 用户输入一个类似这样 3*( 4+ 50 )-(( 100 + 40 )*5/2- 3*2* 2/4+9)*((( 3 + 4)-4)-4) 这样的表达式,假设表达式里 ...
- 使用HTML+CSS,jQuery编写的简易计算器
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...
- 使用HTML+CSS,jQuery编写的简易计算器后续(添加了键盘监听)
之前发布了一款简易的计算器,今天做了一下修改,添加了键盘监听事件,不用再用鼠标点点点啦 JS代码: var yunSuan = 0;// 运算符号,0-无运算;1-加法;2-减法;3-乘法;4-除法 ...
- C#Windows Form简易计算器实现(中)
昨天花了一天的时间弄计算器.也算是做出来了,还是简易的(怀疑猿生!!).在此先感谢昨天被我骚扰的朋友. 先贴一张界面看看 其实健壮性还是挺差的,用户体验也是极差的.比如说用户输入了不合理运算式子,我就 ...
- C#Windows Form简易计算器实现(上)
第一次写博客,来分享一个简易计算器的代码.作为一名准程序员,就是要多写代码才能孰能生巧.重视基础知识才能飞的更快更高以及更稳. 代码可能会写的很糟糕,不完美不安全之处希望发现的越多越好 c#编写计算器 ...
随机推荐
- FTPUtil工具类
package com.xxx.common.util; import java.io.File; import java.io.FileOutputStream; import java.io.IO ...
- 【c++】【转】如何只在heap上创建对象,如何只在stack上建立对象?
http://www.cnblogs.com/chio/archive/2007/10/23/934335.html http://blog.csdn.net/szchtx/article/detai ...
- Java总结之网络
[网络基础概念] 什么是计算机网络: 把分布在不同地理区域的计算机与专门的外部设备用通信线路互连成一个规模大.功能强的网络系统,从而使众多的计算机能够方便的互相传递信息,共享硬件.软件.数据信息等资源 ...
- vs2012下安装Cocos2d-x模板问题
今天想開始学Cocos2d-x.于是依据书本的提示到网上去下载了所需的安装包.我下载的cocos2d-x版本号是2.2.3.在下载完毕之后依照书中的步骤对其环境进行配置.在搞到模板安装这一步,发现找不 ...
- python开发【第1篇】【基础知识】
1.python解释执行原理 python代码——字节码——机器码——计算机 每次运行都要进行转换成字节码,然后再有虚拟机把字节码转换成机器语言,最后才能在硬件上运行. 2.python编码 unic ...
- Cocos2d-X开发中国象棋《四》设计游戏场景
设计完開始界面后就要设计游戏界面了 为了理清设计思路先看一张游戏界面效果图 游戏界面设计思路: 1.在窗体上放一张桌子 2.在桌子上放一个棋盘 3.在棋盘右边加入新局button,暂不实现详细的功能 ...
- 操作系统学习笔记:CPU调度
CPU调度的目的在于提高CPU利用率,不让CPU闲着.CPU是宝贵的资源,如果有一个进程,本来在CPU中运行,忽然因为要使用IO资源,于是转而请求IO,这边CPU挂起,造成就绪队列中的其他进程等待,这 ...
- Eclipse Import别人的源代码,出错解决过程
1.从APKBus上下载了一个源码,想研究一下,结果出错了,经过各种百度,实验,终于解决了,现在记录一下.. File-Import 导入源文件.
- c# Winform上传文件
http://blog.csdn.net/shihuan10430049/article/details/3734398这个代码有点问题 http://blogs.msdn.com/b/johan/a ...
- H264--4--H264编码[7]
----------------------------------- 编码器输出格式 ---------------------------------- 总的来说H264的码流的打包方式有两种,一 ...