Ver Mensaje Individual
  #3 (permalink)  
Antiguo 24/10/2006, 13:33
laulaurys
 
Fecha de Ingreso: junio-2005
Mensajes: 337
Antigüedad: 19 años, 9 meses
Puntos: 1
Hola Erik! me habia puesto a probar y llegue a algo parecido, ahora el problema que se me presenta es el siguiente:
Yo hice esto:

if ( !is_int ( $operacion ) )
{
$indice=1;
$operaciones = array ( '+', '-', '*', '/' );

for ( $e = 0; $e < count ( $operaciones ); $e++ )
{
if ( strpos ( $operacion, $operaciones[$e] ) )
{
$posicion = strpos ( $operacion, $operaciones[$e] );
break;
}
else
{
$indice=0;
continue;
}
}

$i=1;


$cual_operacion = substr ( $operacion, $posicion, $i );
$calcula = explode ( $cual_operacion, $operacion );
$i=($i+2);
$x=1;
$acumula=$calcula[0];
while ($calcula[$x]!='')
{

switch ( $cual_operacion )
{
case "*": $acumula= $acumula * $calcula[$x];
$indice=1;
break;
case "+": $acumula= $acumula + $calcula[$x];
break;
case "-": $acumula= $acumula - $calcula[$x];
break;
case "/": $acumula= $acumula / $calcula[$x];
break;
default:
echo " $formula";
break;
} //fin del switch
$x++;

} //fin del while [$x]

echo " $acumula";


if ($indice==0)
{
echo " $formula";
};
?></strong></td>
<?
}
else
{
echo " $formula";
$acumula=$operacion;
$acumula2=$operacion;


}

}

$acumula2=($acumula);
$acumula_=($acumula_ + $acumula );


$neto_x_legajo=($neto_x_legajo + $acumula);

Donde lo que intento es acumular el resultado final de cuando sale del while, osea.
si en un while resolvio 400+50+20, y en otro 20*3 que me lo sume.
HAGO LA igualacion $acumula=$operacion; para que cuando cuando no se cumple el if del !is_int , tambien me pueda sumar esos valores a $acumula para que me sume el resultado de 400+50+20, 20*3 y 17 suponiendo que era una entrada la cual no fue analizada en el switch.

La verdad estoy re mareadaaaaaaaa ya no me doy cuenta de nada!!
Ojala puedas ayudarme!! y graciassssss!!!