Hola, necesito un programa que use funciones creadas por uno mismo y probé este codigo
El problema es que al entrar a la opción 1 la variable a toma el valor de 29, el cual no debería cambiar, pero al entrar a las otras 3 opciones muestra que a toma el valor del número de la opción ingresada.
Por favor alguien me puede ayudar con lo que pasa en el código.
Código [Seleccionar]
#include <stdio.h>
#include <stdlib.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int numeroEntero(char op1[50],char op2[50],char op3[50],char op4[50], int min, int max){
int o;
printf("%s\n%s\n%s\n%s\n", op1,op2,op3,op4);
do{ printf("Ingrese una opcion entre %d y %d: ", min, max);
scanf("%d", &o);
} while(o>max || o <min);
return o;
}
int men(x){
int a,b,c,d;
switch (x){
case 1:
a=29;
printf("%d \n",a);
break;
case 2:
b=43;
printf("%d %d \n",a,b);
break;
case 3:
c=55;
printf("%d %d %d \n",a,b,c);
break;
case 4:
d=86;
printf("%d %d %d %d \n",a,b,c,d);
break;
}
}
int main() {
int op;
char op1[50]="1.Opcion 1";
char op2[50]="2.Opcion 2";
char op3[50]="3.Opcion 3";
char op4[50]="4.Salir";
do{ op=numeroEntero(op1,op2,op3,op4,1,4); //llama a la funcion que valida el numero y muestra el texto con los nombres de las opciones
men(op); //llama a la funcion que gestiona el menu
} while(op!=4);
return 0;
}
El problema es que al entrar a la opción 1 la variable a toma el valor de 29, el cual no debería cambiar, pero al entrar a las otras 3 opciones muestra que a toma el valor del número de la opción ingresada.
Por favor alguien me puede ayudar con lo que pasa en el código.