O sea que cuando corro el programa y le pongo una opcion en char el programa se me queda pegado en
Opcion invalida. Presione una tecla para continuar.....
Aqui el codigo
Código:
#include <stdio.h> #include <stdlib.h> int main() { int opcion; do{ dosLineas(); pantallaInicio(); opcion = pedirOpcion(); elegirMenu(opcion); } while (opcion > 4 || opcion <=0); system("PAUSE"); return 0; } //saltar dos lineas void dosLineas() { printf("\n\n"); } //inicio del sistema, titulo y menus void pantallaInicio() { printf("\t\t*********************************************\n"); printf("\t\t* SISTEMA X *\n"); printf("\t\t*********************************************\n"); printf("\t\t* *\n"); printf("\t\t* Menu *\n"); printf("\t\t* 1. Opcion 1 *\n"); printf("\t\t* 2. Opcion 2 *\n"); printf("\t\t* 3. Opcion 3 *\n"); printf("\t\t* 4. Salir *\n"); printf("\t\t* *\n"); printf("\t\t***********************************************\n"); dosLineas(); } //funcion para solicitar una opcion al usuario, retorna el numero de opcion int pedirOpcion() { int opcion; printf("Ingrese una opcion : "); scanf("%d",&opcion); return opcion; } //funcion que determina que realizar en el programa dependiendo de la opcion //escogida por el usuario, la cual se pasa en el parametro de la funcion void elegirMenu(int o) { switch(o) { case 1: printf("opcion 1");break; case 2: printf("opcion 2");break; case 3: printf("opcion 3");break; case 4: exit(0); break; default: printf("Opcion invalida."); dosLineas(); system("PAUSE"); system("cls"); break; } }