elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Calculadora en php orientada a objetos.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Calculadora en php orientada a objetos.  (Leído 11,660 veces)
braulio--
Wiki

Desconectado Desconectado

Mensajes: 896


Imagen recursiva


Ver Perfil WWW
Calculadora en php orientada a objetos.
« en: 19 Abril 2009, 17:15 pm »

Miren el code de la calculadora que acabo de hacer en php orientado a objetos.
Código
  1. <head><title>Calculadora en php orientada a objetos</title></head><body>
  2. <h1>Calculadora en php orientado a objetos</h1>
  3. <?
  4. Class calculadora {
  5. function calculadora ( $numero1 , $numero2 ) {
  6. $this->numerouno = htmlentities($numero1,ENT_QUOTES) ;
  7. $this ->numerodos = htmlentities($numero2,ENT_QUOTES);
  8. return 0;
  9. }
  10. function suma(){
  11. $resultado = $this->numerouno + $this->numerodos;
  12. echo "$this->numerouno + $this->numerodos es igual a $resultado <br>";
  13. return 0;
  14. }
  15. function resta(){
  16. $resultado = $this->numerouno - $this->numerodos;
  17. echo "$this->numerouno - $this->numerodos es igual a $resultado <br>";
  18. return 0;
  19. }
  20. function multiplica(){
  21. $resultado = $this->numerouno * $this->numerodos;
  22. echo "$this->numerouno x $this->numerodos es igual $resultado <br>";
  23. return 0;
  24. }
  25. function divide()
  26. {
  27. if ( $this->numerodos==0)
  28. {
  29. echo "No se puede dividir entre cero";
  30. return 1;
  31. }
  32. else
  33. {
  34. $resultado = $this->numerouno / $this->numerodos;
  35. echo "$this->numerouno entre $this->numerodos es igual a $resultado <br> " ;
  36. return 0;
  37. }
  38. }
  39. }
  40. $numerouno = $_POST['numerouno'];
  41. $numerodos = $_POST['numerodos'];
  42. if (isset($numerouno) AND isset($numerodos))
  43. {
  44. $objeto = new calculadora($numerouno,$numerodos);
  45. $objeto->suma();
  46. $objeto->resta();
  47. $objeto->multiplica();
  48. $objeto->divide();
  49. }
  50. ?>
  51. <form action=index.php method=POST>
  52. Primer numero : <input type=text name=numerouno><br>
  53. Segundo numero : <input type=text name=numerodos><br><input type=submit>
  54. </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 Desconectado

Mensajes: 5.110


Ver Perfil WWW
Re: Calculadora en php orientada a objetos.
« Respuesta #1 en: 19 Abril 2009, 20:55 pm »

Solo va a funcionar con el safemod en off, te recomendaria cambiar las variables por $_post. Saludos


En línea

braulio--
Wiki

Desconectado Desconectado

Mensajes: 896


Imagen recursiva


Ver Perfil WWW
Re: Calculadora en php orientada a objetos.
« Respuesta #2 en: 19 Abril 2009, 22:12 pm »

¿Porque solo funciona con safe mode off?
En línea

дٳŦ٭
GNU/Linux Infrastructure Specialist
Ex-Staff
*
Desconectado Desconectado

Mensajes: 5.110


Ver Perfil WWW
Re: Calculadora en php orientada a objetos.
« Respuesta #3 en: 20 Abril 2009, 15:07 pm »

Código:
<input type=text name=numerouno>

Código:
function calculadora ( $numero1 , $numero2 ) {

Y rectifico, no es el safemod, son las registrer globals..

Uso de Register Globals
http://us.php.net/manual/es/security.globals.php

Y por cierto, tu clase no va a trabajar en php6 por lo mismo.

Saludos  ;)

EDIT

Ya vi...

Código:
$numerouno = $_POST['numerouno'];
$numerodos = $_POST['numerodos'];

 ;D Bueno retiro lo dicho pero lo dejo por si alguien no lo sabía. Buen trabajo.
En línea

braulio--
Wiki

Desconectado Desconectado

Mensajes: 896


Imagen recursiva


Ver Perfil WWW
Re: Calculadora en php orientada a objetos.
« Respuesta #4 en: 20 Abril 2009, 17:40 pm »

Ah vale. Me extraño, pero de todas formas yo no se mucho.
Gracias.
En línea

Anibal784


Desconectado Desconectado

Mensajes: 762

Yo no la vote, pero me la tengo que aguantar igual


Ver Perfil WWW
Re: Calculadora en php orientada a objetos.
« Respuesta #5 en: 21 Abril 2009, 02:01 am »

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.

Citar
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 Desconectado

Mensajes: 2.804


Ver Perfil
Re: Calculadora en php orientada a objetos.
« Respuesta #6 en: 21 Abril 2009, 02:38 am »

Try .. Catch?

Código
  1.  
  2. function divide() {
  3.  
  4. try {
  5.  
  6. if (($this->numerouno / $this->numerodos || $this->numerodos / $this->numerouno) == 0) {
  7.  
  8. throw new Exception("Error no se puede dividir entre cero");
  9.  
  10. }
  11.  
  12. } catch(Exception $e) {
  13.  
  14. echo $e->getMessage();
  15. return 1;
  16. }
  17.  
  18. $resultado = $this->numerouno / $this->numerodos;
  19. echo "$this->numerouno entre $this->numerodos es igual a $resultado <br> " ;
  20. return 0;
  21.  
  22. }
  23.  
  24.  
  25.  
En línea

Anibal784


Desconectado Desconectado

Mensajes: 762

Yo no la vote, pero me la tengo que aguantar igual


Ver Perfil WWW
Re: Calculadora en php orientada a objetos.
« Respuesta #7 en: 21 Abril 2009, 02:47 am »

¿para?
Código
  1. // Código php, pero en realidad matemática de 5 grado
  2. function dividir($numero1, $numero2){
  3.    if($numero2 == 0){
  4.        echo "No se puede dividir por 0 <br />";
  5.        return FALSE;
  6.    }
  7.    $resultado = $numero1 / $numero2;
  8.    echo "$numero1 dividido $numero2 = $resultado<br />";
  9.    return TRUE;
  10. }
  11.  
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.

Citar
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 Desconectado

Mensajes: 896


Imagen recursiva


Ver Perfil WWW
Re: Calculadora en php orientada a objetos.
« Respuesta #8 en: 21 Abril 2009, 14:46 pm »

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

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Calculo codigo resistencias c++ orientada a objetos
Programación C/C++
paolo1001 6 8,418 Último mensaje 28 Diciembre 2010, 03:50 am
por leogtz
¿Es lo mismo utilizar un ORM que una BD orientada a objetos?
Bases de Datos
Aikanáro Anário 0 1,508 Último mensaje 21 Abril 2012, 21:55 pm
por Aikanáro Anário
Ayuda para trabajo Programaion Orientada Objetos.
Java
BNavarro 0 1,250 Último mensaje 24 Abril 2015, 19:18 pm
por BNavarro
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines