Hola a todos, necesito ayuda con el código de un programita sencillo en C. El código es el siguiente:
El problema es que cuando compilo y selecciono cualquier número siempre me lleva al case 1 . Da igual que meta el número 1, 2 ó 3. Siempre me pide que digite un número para elevar al cubo. ¿Alguien puede ayudarme?
Saludos!
Código [Seleccionar]
/* Haz un menú que considere las siguientes opciones:
1: Eleva al cubo un número.
2: Determinar si un número es par o impar.
3: Salir */
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main () {
int opcion, n2;
float n1, cubo;
printf ("\t MENU MATEMATICO");
printf ("\n\n\nFunciones disponibles:\n\n");
printf ("\n1. Elevar un numero al cubo.");
printf ("\n2. Saber si un numero es PAR o IMPAR.");
printf ("\n3. Salir del menu.\n\n\n");
printf ("Seleccione una opcion: "); scanf ("&i",&opcion);
switch (opcion) {
case 1: system ("cls");
fflush (stdin);
printf ("\nDigita un numero para elevar al cubo: ");
scanf ("%f",&n1);
cubo = pow (n1, 3);
printf ("\nResultado: %.2f",cubo);
break;
case 2: system ("cls");
fflush (stdin);
printf ("\nDigita un numero para saber si es par o impar: ");
scanf ("%i",&n2);
if (n2 % 2 == 0) {
printf ("\nEl numero %i es PAR",n2);
} else {
printf ("\nEl numero %i es IMPAR",n2);
}
break;
case 3:
break;
default: printf ("\nHas introducido un numero incorrecto.");
}
system ("pause");
return 0;
}
El problema es que cuando compilo y selecciono cualquier número siempre me lleva al case 1 . Da igual que meta el número 1, 2 ó 3. Siempre me pide que digite un número para elevar al cubo. ¿Alguien puede ayudarme?
Saludos!