Autor
|
Tema: Calculadora en php orientada a objetos. (Leído 11,973 veces)
|
braulio--
Wiki
Desconectado
Mensajes: 896
Imagen recursiva
|
Miren el code de la calculadora que acabo de hacer en php orientado a objetos. <head><title>Calculadora en php orientada a objetos</title></head><body> <h1>Calculadora en php orientado a objetos</h1> <? Class calculadora { function calculadora ( $numero1 , $numero2 ) { return 0; } function suma(){ $resultado = $this->numerouno + $this->numerodos; echo "$this->numerouno + $this->numerodos es igual a $resultado <br>"; return 0; } function resta(){ $resultado = $this->numerouno - $this->numerodos; echo "$this->numerouno - $this->numerodos es igual a $resultado <br>"; return 0; } function multiplica(){ $resultado = $this->numerouno * $this->numerodos; echo "$this->numerouno x $this->numerodos es igual $resultado <br>"; return 0; } function divide() { if ( $this->numerodos==0) { echo "No se puede dividir entre cero"; return 1; } else { $resultado = $this->numerouno / $this->numerodos; echo "$this->numerouno entre $this->numerodos es igual a $resultado <br> " ; return 0; } } } $numerouno = $_POST['numerouno']; $numerodos = $_POST['numerodos']; { $objeto = new calculadora($numerouno,$numerodos); $objeto->suma(); $objeto->resta(); $objeto->multiplica(); $objeto->divide(); } ?> <form action=index.php method=POST> Primer numero : <input type=text name=numerouno><br> Segundo numero : <input type=text name=numerodos><br><input type=submit> </form></body>
Le vendrá bien a la gente que este aprendiendo este paradigma de la programacion en este lenguaje. El htmlentities lo he puesto por si acaso. Si no tienen ganas de ponerlo en su server la he puesto aqui: http://ab.onlinewebshop.net/index.php
|
|
« Última modificación: 21 Abril 2009, 14:47 pm por braulio23 »
|
En línea
|
|
|
|
дٳŦ٭
GNU/Linux Infrastructure Specialist
Ex-Staff
Desconectado
Mensajes: 5.110
|
Solo va a funcionar con el safemod en off, te recomendaria cambiar las variables por $_post. Saludos
|
|
|
En línea
|
|
|
|
braulio--
Wiki
Desconectado
Mensajes: 896
Imagen recursiva
|
¿Porque solo funciona con safe mode off?
|
|
|
En línea
|
|
|
|
дٳŦ٭
GNU/Linux Infrastructure Specialist
Ex-Staff
Desconectado
Mensajes: 5.110
|
<input type=text name=numerouno> function calculadora ( $numero1 , $numero2 ) { Y rectifico, no es el safemod, son las registrer globals.. Uso de Register Globalshttp://us.php.net/manual/es/security.globals.phpY por cierto, tu clase no va a trabajar en php6 por lo mismo. Saludos EDIT Ya vi... $numerouno = $_POST['numerouno']; $numerodos = $_POST['numerodos']; Bueno retiro lo dicho pero lo dejo por si alguien no lo sabía. Buen trabajo.
|
|
|
En línea
|
|
|
|
braulio--
Wiki
Desconectado
Mensajes: 896
Imagen recursiva
|
Ah vale. Me extraño, pero de todas formas yo no se mucho. Gracias.
|
|
|
En línea
|
|
|
|
Anibal784
Desconectado
Mensajes: 762
Yo no la vote, pero me la tengo que aguantar igual
|
Perdón, no tiene nada que ver con el código de php sino con la división, está mal: 0/10 = 0 10/0 = error 0/0 = error
Espero que se entienda
|
|
|
En línea
|
El que llega sin que lo llamen, se va sin que lo echen. Vos no la votaste por eso la tenes adentro.
Lo fino no es lo tuyo, y a mi me chupa un huevo, soy argentino y no peronista, y eso es lo que realmente te molesta.
|
|
|
^Tifa^
Desconectado
Mensajes: 2.804
|
Try .. Catch? function divide() { try { if (($this->numerouno / $this->numerodos || $this->numerodos / $this->numerouno) == 0) { throw new Exception("Error no se puede dividir entre cero"); } } catch(Exception $e) { echo $e->getMessage(); return 1; } $resultado = $this->numerouno / $this->numerodos; echo "$this->numerouno entre $this->numerodos es igual a $resultado <br> " ; return 0; }
|
|
|
En línea
|
|
|
|
Anibal784
Desconectado
Mensajes: 762
Yo no la vote, pero me la tengo que aguantar igual
|
¿para? // Código php, pero en realidad matemática de 5 grado function dividir($numero1, $numero2){ if($numero2 == 0){ echo "No se puede dividir por 0 <br />"; return FALSE; } $resultado = $numero1 / $numero2; echo "$numero1 dividido $numero2 = $resultado<br />"; return TRUE; }
Lo único importante en una división es que $numero2 (el denominador) no sea 0, para el resto da igual. De todas formas, existe la posibilidad que se envíen letras y se que existen en php funciones para comprobar esas situaciones que realmente escapan a ésto. Lo que estoy tratando de decir es ¿por qué no permiten dividir 0 por algún valor que es matemáticamente válido?
|
|
« Última modificación: 21 Abril 2009, 02:53 am por Anibal784 »
|
En línea
|
El que llega sin que lo llamen, se va sin que lo echen. Vos no la votaste por eso la tenes adentro.
Lo fino no es lo tuyo, y a mi me chupa un huevo, soy argentino y no peronista, y eso es lo que realmente te molesta.
|
|
|
braulio--
Wiki
Desconectado
Mensajes: 896
Imagen recursiva
|
Perdón, no tiene nada que ver con el código de php sino con la división, está mal: 0/10 = 0 10/0 = error 0/0 = error
Espero que se entienda
Es cierto, no me pare a pensar. He modificado el code. Gracias anibal.
|
|
|
En línea
|
|
|
|
|
|