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!!
Ayuda con un ejercicio de PHP POO
Comenzado por
Reyes0507
, mar 07 2013 03:06
4 respuestas en este tema
#1
Escrito 07 marzo 2013 - 03:06
#2
Escrito 07 marzo 2013 - 03:34
Podrías compartirnos lo que ya tienes avanzado para partir de allí mi estimado amigo.
Saludos
Saludos
#3
Escrito 07 marzo 2013 - 03:52
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>
#4
Escrito 07 marzo 2013 - 04:42
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;
?>
#5
Escrito 07 marzo 2013 - 05:16
Gracias hermano me ha servido de mucha ayuda!! gracias