PHP: Calculadora ligeramente mejorada en PHP
Calculadora básica en PHP. Versión algo mejorada, que usa switch y tiene menos código repetitivo.
Lenguaje: PHP (compilador: PHP 4)
Categoría: Básico
// Fuente procedente de ErrorDeSintaxis.es
// Calculadora básica en PHP. Versión algo
// mejorada, que usa switch y tiene menos código
// repetitivo.
// Compilador: PHP 4
// Nivel: Básico
// Disponible desde 06/08/2011
// Aportado por Nacho
<html> <head> <title>Calculadora</title> </head> <body> <div align="center"> <center> <form method="POST" action="<?php echo $_SERVER['PHP_SELF']; ?>"> <p>Para raices, cuadrados y cubos,<br> rellene solo la primera casilla<br><br> </p> <table border="0" cellspacing="1" width="304" height="139"> <tr> <td width="292" align="center" height="39"> <h3>Calculadora</h3> </td> </tr> <tr> <td width="292" align="center" height="23"> <input type="text" name="num1" size="10"><br> <input type="text" name="num2" size="10"></td> </tr> <tr> <td width="292" align="center" height="24"> <input type="submit" value="+" name="operac"> <input type="submit" value="-" name="operac"> <input type="submit" value="*" name="operac"> <input type="submit" value="/" name="operac"><br> <input type="submit" value="^2" name="operac"> <input type="submit" value="^3" name="operac"> <input type="submit" value="Raiz" name="operac"> </td> </tr> <?php $operac = $_POST['operac']; $num1 = doubleval($_POST['num1']); $num2 = doubleval($_POST['num2']); switch($operac) { case "+": $resultado = "{$num1} + {$num2} = ". strval($num1+$num2); break; case "*": $resultado = "{$num1} * {$num2} = " . $num1*$num2; break; case "/": $resultado = "{$num1} / {$num2} = " . $num1/$num2; break; case "-": $resultado = "{$num1} - {$num2} = " . strval($num1-$num2); break; case "Raiz": $resultado = "Raiz({$num1}) = " . sqrt($num1); break; case "^2": $resultado = "{$num1}^2 = " . $num1*$num1; break; case "^3": $resultado = "{$num1}^3 = " . $num1*$num1*$num1; break; } ?> <tr> <td width="292" align="center" height="19"><br> <b>Resultado: <?php echo $resultado; ?></b></td> </tr> </table> </form> </center> </div> </body> </html>