entre Desarrolladores

Recibe ayuda de expertos

Registrate y pregunta

Es gratis y fácil

Recibe respuestas

Respuestas, votos y comentarios

Vota y selecciona respuestas

Recibe puntos, vota y da la solución

Pregunta

1voto

Objective C, else if pregunta

Estoy ejecutando este codigo en Objective C, en el cual evaluo si se esta dividiendo y el segundo numero es zero

Cuando lo ejecuto me detecta que no puede dividir por zero, pero me retorna el mensaje, seguido de "inf" . Alguna ayuda?

int main (int argc, char * argv[])
{
    @autoreleasepool {
        double value1, value2;
        char   operator;

        Calculator *deskCalc = [[Calculator alloc]init];

        NSLog(@"Entre la expresion a evaluar");
        scanf("%lf %c %lf", &value1, &operator, &value2 );

        [deskCalc setAccumulator:value1];

        if (operator == '+') 
            [deskCalc add:value2];
         else 
            if (operator == '-') 
                [deskCalc subtract:value2];
             else 
                if (operator == '*') 
                    [deskCalc multiply:value2];
                else
                    if (operator == '/' && value2 == 0) 
                        NSLog(@"No puedes dividir por zero");
                        if (operator == '/' ) 
                            [deskCalc divide:value2];
                         else
                            NSLog(@"Mal operador");

                NSLog (@"%.2f", [deskCalc accumulator]);

0voto

anónimo comentado

¿cómo se borran los comentarios? :D

1 Respuesta

1voto

Puntos0

Creo que te falta un else al final, ¿no debería ser así?

[...]
else if (operator == '/' && value2 == 0) 
  NSLog(@"No puedes dividir por zero");
else if (operator == '/' )  
  [deskCalc divide:value2];
else
  NSLog(@"Mal operador");

Por favor, accede o regístrate para responder a esta pregunta.

Otras Preguntas y Respuestas


...

Bienvenido a entre Desarrolladores, donde puedes realizar preguntas y recibir respuestas de otros miembros de la comunidad.

Conecta