sábado, 20 de abril de 2013

Programando en Perl no. 3

1. Horoscopo chino en Perl

my %horoscopoChino(0,"mono",1,"gallo",2,"perro",3,"cerdo",4,"rata",5,"buey",6,"tigre",7,"conejo",8,"dragon",9,"serpiente",10,"caballo",11,"cabra");
$resto=0;
print "Anyo de nacimiento: ";
$anyo= <STDIN>;
print "Anyo de nacimiento: ",$anyo;
$anyo=chomp($anyo);
$resto=int($anyo)%12;
print "Te corresponde el signo del:  ". $horoscopoChino{$resto}." \n";

Ejemplo. si el año en el que naciste es 1981, te corresponderá el signo del gallo.

2.  Calcular días trabajados de un empleado.

my $dia_inicio=0;
my $dia_fin=0;
my $mes_inicio="";
my $mes_fin="";
my $anyo_inicio=0;
my $anyo_fin=0;

my %mesesAnyo=("enero",0,"febrero",1,"marzo",2,"abril",3,"mayo",4,"junio",5,"julio",6,"agosto",7,"septiembre",8,"octubre",9,"noviembre",10,"diciembre",11);

print "Introduce fecha de inicio: \n";
print "Dia: ";
$dia_inicio=<STDIN>;
print "Mes: ";
$mes_inicio=<STDIN>;
chomp($mes_inicio);
print "Anyo: ";
$anyo_inicio=<STDIN>;
print "\nIntroduce fecha de inicio: \n";
print "Dia: ";
$dia_fin=<STDIN>;
print "Mes: ";
$mes_fin=<STDIN>;
chomp($mes_fin);
print "Anyo: ";
$anyo_fin=<STDIN>;

$mesInicio=$mesesAnyo{$mes_inicio};
$mesFin=$mesesAnyo{$mes_fin};


#para los días, se le presta 30
if($dia_inicio > $dia_fin){
  $dia_fin=$dia_fin+30;
}

#para los meses, se le presta 12
if($mesInicio > $mesFin){
  $mesFin=$mesFin+12;
}

$restaDia=$dia_fin - $dia_inicio;
$restaMes=$mesFin - $mesInicio;
$restaAnyo=($anyo_fin-1) - $anyo_inicio;

print "Resultado: ";
print $restaAnyo," anyos ";
print $restaMes," meses ";
print $restaDia," dias";

Ejemplo. Fecha de inicio 2 de agosto de 2003 , fecha final 10 de enero de 2005 nos daría 1 año 5 meses 8 días

No hay comentarios:

Publicar un comentario