Jump to content


Photo

Ayuda con un ejercicio de PHP POO


  • Please log in to reply
4 replies to this topic

#1 Reyes0507

Reyes0507

    Newbie

  • Miembros
  • Pip
  • 5 posts

Posted 07 March 2013 - 03:06 PM

Buenas amigos del foro!! necesito ayuda en un pequeño ejercicio que no he podido resolver!! este es el enunciado: definir una clase cPersona con los datos miembros: nombre, dNacimiento (dia de Nacimiento), mNacimiento (mes de Nacimiento), aNacimiento (año de Nacimiento). Determinar tres objetos de la clase cPersona y determinar en un programa: Quien es el Mayor y Cuantos son mayores de edad. El detalle es que no se como determinar quien es mayor y cuantos son mayores!! agradezco su ayuda!! gracias!!
  • 0

#2 poliburro

poliburro

    Advanced Member

  • Administrador
  • 4945 posts
  • LocationMéxico

Posted 07 March 2013 - 03:34 PM

Podrías compartirnos lo que ya tienes avanzado para partir de allí mi estimado amigo.

Saludos
  • 0

#3 Reyes0507

Reyes0507

    Newbie

  • Miembros
  • Pip
  • 5 posts

Posted 07 March 2013 - 03:52 PM

este es el código que tengo hecho

<html>
<head>
<meta charset="UTF-8">
<title>Clase Persona</title>
</head>
<?php
class CPersona
{
private $_nombre;
private $_dNacimiento;
private $_mNacimiento;
private $_aNacimiento;

public function __construct($nom, $dnac, $mnac, $anac)
{
$this->nombre = $nom;
$this->dNacim = $dnac;
$this->mNacim = $mnac;
$this->aNacim = $anac;
}

public function Mostrar()
{
echo '<b>'."Nombre: ".'</b>'.$this->nombre.'<br>';
echo '<b>'."Dia de Nacimiento: ".'</b>'.$this->dNacim.'<br>';
echo '<b>'."Mes de Nacimiento: ".'</b>'.$this->mNacim.'<br>';
echo '<b>'."Año de Nacimiento: ".'</b>'.$this->aNacim.'<br>';
}
}

$persona = new CPersona('Juan',1,'Enero',1990);
$persona2 = new CPersona('Pedro',2,'Febrero',1991);
$persona3 = new CPersona('José',3,'Marzo',1992);
$persona->Mostrar();
$persona2->Mostrar();
$persona3->Mostrar();

?>
</body>
</html>

  • 0

#4 poliburro

poliburro

    Advanced Member

  • Administrador
  • 4945 posts
  • LocationMéxico

Posted 07 March 2013 - 04:42 PM

una manera sencilla de mostrar al de mayor edad es declarando como public las propiedades de la clase persona...


<html>
<head>
<meta charset="UTF-8">
<title>Clase Persona</title>
</head>
<?php
class CPersona
{
public $_nombre;
private $_dNacimiento;
private $_mNacimiento;
private $_aNacimiento;
              public $edad;

public function __construct($nom, $dnac, $mnac, $anac)
{
$this->nombre = $nom;
$this->dNacim = $dnac;
$this->mNacim = $mnac;
$this->aNacim = $anac;
                                $Meses = array('Enero'=>'01', 'Febrero'=>'02', 'Marzo'=>'03', 'Abril'=>'04',
                                                        'Mayo'=>'05', 'Junio'=>'06', 'Julio'=>'07','Agosto'=>'08',
                                                        'Septiembre'=>'09','Octubre'=>'10','Noviembre'=>'11','Diciembre'=>'12');
                              $fecnac = new DateTime($this->aNacim."-".$Meses[$this->mNacim]."-".$this->dNacim);
                              $Hoy = new DateTime("now");
                              $this->$edad = $fecnac ->diff($Hoy)->format('%y');               


}

public function Mostrar()
{
echo '<b>'."Nombre: ".'</b>'.$this->nombre.'<br>';
echo '<b>'."Dia de Nacimiento: ".'</b>'.$this->dNacim.'<br>';
echo '<b>'."Mes de Nacimiento: ".'</b>'.$this->mNacim.'<br>';
echo '<b>'."Año de Nacimiento: ".'</b>'.$this->aNacim.'<br>';
}
}

$persona = new CPersona('Juan',1,'Enero',1990);
$persona2 = new CPersona('Pedro',2,'Febrero',1991);
$persona3 = new CPersona('José',3,'Marzo',1992);
$persona->Mostrar();
$persona2->Mostrar();
$persona3->Mostrar();


if ($persona->edad < 18 )
    echo $persona->_nombre." es menor de edad";
if ($persona2->edad  < 18 )
    echo $persona2->_nombre." es menor de edad";
if ($persona3->edad  < 18 )
    echo $persona3->_nombre." es menor de edad";

echo "el mayor es:";

If ($persona > $persona2) && ($persona>$persona3)
  echo $persona->_nombre;

If ($persona2 > $persona) && ($persona2>$persona3)
  echo $persona2->_nombre;

If ($persona3 > $persona2) && ($persona3>$persona2)
  echo $persona3->_nombre;

?>




  • 0

#5 Reyes0507

Reyes0507

    Newbie

  • Miembros
  • Pip
  • 5 posts

Posted 07 March 2013 - 05:16 PM

Gracias hermano me ha servido de mucha ayuda!! gracias  :cheesy:
  • 0




IP.Board spam blocked by CleanTalk.