• php简易计算器


    php循环结构

    案例:php简易计算器

    步骤:

    1.先绘制这个表格

    2.根据表单提交的sub属性判断一下,是否点击计算了

    (GET方式提交的数据,通过地址栏传递的)

    3.计算,并将结果输入到第二行

      问题:当点击计算后,之前输入数字及运算符消失,因为点击计算后提交到当前页面,等于刷新

               当点击之后,运算符默认又恢复到+

      解决:通过selected属性控制下拉列表是否被选中

               单路分支,可以不写{}

    4.完善

      如果用户输入是字符串或者是空值,提示不能为空或者不能为字符串

      通过地址栏上有没有 sub=计算 这个参数来判断用户有没有点击计算

     1 <html>
     2     <head>
     3         <meta charset="utf-8"/>
     4     </head>
     5 <?php
     6     $result='';
     7     $message='';
     8     $num1=true;
     9     $num2=true;
    10     $numa=true;
    11     $numb=true;
    12 
    13     if($_GET['sub']=='计算'){
    14         //用户点击了计算按钮
    15         if($_GET['num1']==''){
    16             $num1=false;
    17             $message.='第一个不能为空<br/>';
    18             //return false;  //停止代码继续执行
    19         }
    20         if($_GET['num2']==''){
    21             $num2=false;
    22             $message.='第二个不能为空<br/>';
    23             //return false;  //停止代码继续执行
    24         }
    25         if(!is_numeric($_GET['num1'])){
    26             $numa=false;
    27             $message.='第一个数字必须为数值<br/>';
    28         }
    29         if(!is_numeric($_GET['num2'])){
    30             $numb=false;
    31             $message.='第二个数字必须为数值<br/>';
    32         }
    33         if($num1&&$num2&&$numa&&$numb){
    34             switch($_GET['ysf']){
    35                 case '+':
    36                 $result=$_GET['num1']+$_GET['num2'];
    37                 break;
    38 
    39                 case '-':
    40                 $result=$_GET['num1']-$_GET['num2'];
    41                 break;
    42 
    43                 case '*':
    44                 $result=$_GET['num1']*$_GET['num2'];
    45                 break;
    46 
    47                 case '/':
    48                 $result=$_GET['num1']/$_GET['num2'];
    49                 break;
    50 
    51                 case '%':
    52                 $result=$_GET['num1']%$_GET['num2'];
    53                 break;
    54             }
    55         }
    56 
    57         
    58         echo $result;
    59     }
    60 ?>
    61     <body>
    62         <table align="center" cellspacing='4px' cellpadding='0'>
    63         <caption><h2>php的简易计算器</h2></caption>
    64             <form action='jsq.php' method='GET' >
    65             <tr>
    66                 <td><input type="text" name='num1' value="<?php echo $_GET['num1']?>"/></td>
    67                 <td>
    68                     <select name='ysf'>
    69                         <option <?php if($_GET['ysf']=='+')echo 'selected';?>>+</option>
    70                         <option <?php if($_GET['ysf']=='-'){echo 'selected';}?>>-</option>
    71                         <option <?php if($_GET['ysf']=='*'){echo 'selected';}?>>*</option>
    72                         <option <?php if($_GET['ysf']=='/'){echo 'selected';}?>>/</option>
    73                         <option <?php if($_GET['ysf']=='%'){echo 'selected';}?>>%</option>
    74                     </select>
    75                 </td>
    76                 <td><input type="text" name='num2' value="<?php echo $_GET['num2']?>"/></td>
    77                 <td><input type="submit" name="sub" value="计算"/></td>
    78             </tr>
    79             <tr>
    80                 <td colspan='4'>
    81                 <?php 
    82                     if($num1&&$num2&&$numa&&$numb){
    83                         echo "运算结果是:".$_GET['num1'].$_GET['ysf'].$_GET['num2']."=".$result;
    84                     }else{
    85                         echo $message;
    86                     }
    87                     
    88                 ?>
    89                 </td>
    90             </tr>
    91             </form>
    92         </table>
    93     </body>    
    94 </html>
  • 相关阅读:
    Effective Java 第三版——26. 不要使用原始类型
    Effective Java 第三版——25. 将源文件限制为单个顶级类
    Effective Java 第三版——24. 优先考虑静态成员类
    Effective Java 第三版——23. 优先使用类层次而不是标签类
    Effective Java 第三版——22. 接口仅用来定义类型
    Effective Java 第三版——21. 为后代设计接口
    Effective Java 第三版——20. 接口优于抽象类
    Effective Java 第三版——19. 如果使用继承则设计,并文档说明,否则不该使用
    Effective Java 第三版——18. 组合优于继承
    Effective Java 第三版——17. 最小化可变性
  • 原文地址:https://www.cnblogs.com/baixuemin/p/4819326.html
Copyright © 2020-2023  润新知