Como hacer una calculadora con PHP.docx

Preview:

Citation preview

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 E JECUCIÓ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";

}

}

?>

Recommended