Problema Calculadora en Perl

Iniciado por Xanz, 11 Febrero 2011, 21:35 PM

0 Miembros y 1 Visitante están viendo este tema.

Xanz

Buenas,la verdad soy nuevo en perl y estoy intentando hacer una calculadora.
Estoy en terminandola pero algo esta mal y no se que es xD
Vean mi codigo y expliquenme que esta mal..
http://pastebin.com/iP6Wf12x

Muchas gracias de antemano.

Edu

Deja el codigo aca siempre ya q muyy largo no sera

Shell Root

Deberías de usar funciones, algo como esto.
Código (perl) [Seleccionar]
#!/usr/bin/perl


print "CALCURADORA\n\n";
print "Teclea el numero de la accion que desees realizar:\n";
print "0 - Salir\n";
print "1 - Sumar\n";
print "2 - Restar\n";
print "3 - Multiplicar\n";
print "4 - Dividir\n";
$sAccion = <STDIN>;

print &sAcciones($sAccion)."\n";

# Functión para pedir números.
sub sPedirNumeros{
  $sCount = shift; # @Parametro 1, contador de números.
  print "Ingrese número " . $sCount . ": ";
  $sNumero = <STDIN>;
  return $sNumero;
}

# Functión para las acciones de la calculadora.
sub sAcciones{
  $sAccion = shift; # @Parametro 2, acción a realizar.
  $sNum = 0;
  if( $sAccion == "0" ){
    return 0;
  }else{
    print "Cuantos números?\n";
    $sCantNum = <STDIN>;
    if( $sAccion == "1" ){
      for($i=0; $i<$sCantNum; $i++){
        $sNum = $sNum + &sPedirNumeros($i + 1);
      }
      return $sNum;
    }elsif( $sAccion == "2" ){
      for($i=0; $i<$sCantNum; $i++){
        $sNum = $sNum - &sPedirNumeros($i + 1);
      }
      return $sNum;
    }elsif( $sAccion == "3" ){
      for($i=0; $i<$sCantNum; $i++){
        $sNum = $sNum * &sPedirNumeros($i + 1);
      }
      return $sNum;
    }elsif( $sAccion == "4" ){
      for($i=0; $i<$sCantNum; $i++){
        $sNum = $sNum / &sPedirNumeros($i + 1);
      }
      return $sNum;
    }
  }
}


PD: Aún me falta, pero te servirá de guía.
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.