Calculadora con IF, problemilla

Xavixu
21 de Septiembre del 2009
He programado una minicalculadora con Visual C++,
Mis conocimientos son limitadillos, asi que he intentado hacerlo solo con el IF.
Al poner los 2 numeros i la operación que quiero hacer, luego me salen todas las operaciones con esos numeros, y no solo la deseada...

Pego un trozo del programa:
int a, b, op, resultado;
printf ("Escribe dos numeros separados por espacios: ");
scanf ("%d %d", &a, &b);

printf ("Selecciona la operacón que quieres realizar: (1) - Suma (2) - Resta (3) - Multiplicacion (4) - Division ");
scanf ("%d", &op);

if (op == 1)
resultado=a+b;
printf ("El resultado de la suma es = %d\n",resultado);

if (op == 2)
resultado=a-b;
printf ("El resultado de la resta es = %d\n",resultado);

if (op == 3)
resultado=a*b;
printf ("El resultado de la multiplicacion es = %d\n",resultado);

if (op == 4)
resultado=a/b;
printf ("El resultado de la division es = %d\n",resultado);

if (( op != 1)&( op != 2)&( op != 3)&( op != 4))
printf ("operacion no valida");

}

Francisco Rogles
21 de Septiembre del 2009
El problema es que debes incluir entre llaves el código que debe ejecutarse en cada if:

Pego un trozo del programa:
int a, b, op, resultado;
printf ("Escribe dos numeros separados por espacios: ");
scanf ("%d %d", &a, &b);

printf ("Selecciona la operacón que quieres realizar: (1) - Suma (2) - Resta (3) - Multiplicacion (4) - Division ");
scanf ("%d", &op);

if (op == 1)
{
resultado=a+b;
printf ("El resultado de la suma es = %d\n",resultado);
}
if (op == 2)
{
resultado=a-b;
printf ("El resultado de la resta es = %d\n",resultado);
}
if (op == 3)
{
resultado=a*b;
printf ("El resultado de la multiplicacion es = %d\n",resultado);
}
if (op == 4)
{
resultado=a/b;
printf ("El resultado de la division es = %d\n",resultado);
}
if (( op != 1)&( op != 2)&( op != 3)&( op != 4))
printf ("operacion no valida");

}

excepto en el último, que las llaves noi son necesarias porque solamente hay una sentencia.

Evidentemente, hay otros modos mucho más eficientes (prueba con switch), así que te sugiero que te busques un buen libro y a practicar.

Saludos,

PACO.

xavixu
21 de Septiembre del 2009
No te lo creeras, pero lo acabo de corregir...

Muchas gracias, veo que la gente de este foro es eficiente, que rápido...
Un abrazo