Calculadora con IF, problemilla
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");
}
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");
}
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.
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.