Como hacer una calculadora con PHP (Ejercicio)

A veces me pongo algo ocioso y como llevaba casi un mes en mi casa sin trabajar, y he aquí la causa de mi desaparición, ya que me estaba recuperando de una cirugía refractiva, por eso escribí muy poco entre marzo y abril de este 2008, pues me puse a entretenerme en algo y me surgió la idea de hacer una calculadora usando PHP y de paso usé este script como ejercicio para un curso de PHP que estoy impartiendo.

El formulario:

Lo primero es hacer un formulario (puro HTML) que usaremos para enviar los datos y el operador, segun la cuenta matemática que se quiera realizar:

<form name="mat" method="post" action="<?php $_SERVER['PHP_SELF'];?>">
<input type="text" name="a" />
<select name="opr">
<option value="">Operador</option>
<option value="+">Sumar</option>
<option value="-">Restar</option>
<option value="*">Multiplicar</option>
<option value="/">Dividir</option>
</select>
<input type="text" name="b" />
<input type="submit" name="ej" value="Ejecutar" />
</form>

La ejecución del script con PHP:

Al principio pensé que seria de lo mas sencillo y fácil hacer esta pequeña aplicación, pero choque con algo inesperado y que me resulto nuevo.

El punto es que tuve que crear una función que me retornara la operación matemática dependiendo del operador enviado por el formulario, ya que el operador me lo enviaba como un string y si por ejemplo quería calcular 2 + 2, eso era lo que me imprimía en lugar de 4, pero mejor ya entramos al código:

<?php
// comprobamos si se han enviado los datos
if(isset($_POST['ej']) && $_POST['ej'] == 'Ejecutar') {
// comprobamos si no hay campos vacíos
if(!empty($_POST['a']) && !empty($_POST['b']) && !empty($_POST['opr'])) {
// ahora, verificamos si son solo digitos
if(ctype_digit($_POST['a']) && ctype_digit($_POST['b'])) {
// creamos y damos valor a las variables
// con que vamos a trabajar
$a = $_POST['a'];
$b = $_POST['b'];
$opr = $_POST['opr'];
// aqui la funcion que
// retornara la operacion matematica
function operar($a, $b, $opr) {
switch($opr) {
case "+":
$result = $a + $b;
break;
case "-":
$result = $a - $b;
break;
case "*":
$result = $a * $b;
break;
case "/":
$result = $a / $b;
break;
}
return $result;
}
// imprimimos el resultado de la operación
echo "$a $opr $b = ". operar($a, $b, $opr);
} else {
// ERROR en caso de datos no válidos
echo "a y b tienen que ser numeros";
}
} else {
// ERROR en caso de campos vacíos
echo "No puede enviar campos vacios";
}
}
?>

Concluyendo:

Espero que este pequeño y sencillo ejercicio les sirva para ampliar un poquito mas sus conocimientos, como me ha sido útil a mi.

Las dudas que surgieron por su puesto que me fueron aclaradas en Foros del Web: duda TONTA con calculadora.

Saludos y Suerte

Published by

rogertm

Friki y Blogger por Cuenta Propia - [ WordPress Themes Prose Writer ]

8 thoughts on “Como hacer una calculadora con PHP (Ejercicio)”

  1. en peru se han inventado varias calculadoras y tam bien hay personas que saben poder hacerlo pero con tan solo agarrar la calculadora lo crees hacer todo pero tu lo lograras ser una persona como un matematico ingeniero en eso las personas los pueden distribuir atra vez de un click donde tu podras ver un monton de problemas q dejar llamanos 015375720

  2. if(isset($_POST['ej']) && $_POST['ej'] == 'Ejecutar') {
    /* ES VERDERO CUANDO SE PRESIONA EL BOTON 'Ejecutar' */
    }

    ¿PERO POR QUE 2 VECES => ($_POST['ej']) ?

  3. @acv-1 Sencillo… el primero verifica si se ha enviado la variable (el formulario) y el segundo si el valor de la variable es el correcto.

    Es algo de paranoia pero necesaria creerlo ;-)

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>