ErrorDeSintaxis

Pequeños fragmentos de código fuente en distintos lenguajes de programación, agrupados por categorías.

Puedes buscar entre los fuentes existentes, o aportar los tuyos.

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

Calculadora ligeramente mejorada en PHP
 
// 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>