Menú modo consola en C
Estoy haciendo un menú en modo consola el cuál tiene 3 opciones distintas, y para finalizar se ingresa el 0. Cuando ingreso una letra o puntuación el programa entra un ciclo indefinido repitiendo la última opción ingresada. Aquà les dejo parte del código:
while( opcion != SALIDA ) {
printf( "Elija una opcion: \n" );
scanf( "%d", &opcion );
/* Compruebo que lo que tecleé es un número decimal*/
if ( isdigit( opcion ) == 0 ) {
eleccion( opcion );
}
else {
/* Provoca un mensaje de error ya que no existe dicha opción*/
eleccion( 100 );
}
}
void eleccion( int opt )
{
switch( opt ) {
case 0:
;
break;
case 1:
printf( "Ha elegido la opcion %d \n", opt );
break;
case 2:
printf( "Ha elegido la opcion %d \n", opt );
break;
case 3:
printf( "Ha elegido la opcion %d \n", opt );
break;
default:
printf( "Opcion incorrecta, elija una opcion valida \n" );
break;
}
}
while( opcion != SALIDA ) {
printf( "Elija una opcion: \n" );
scanf( "%d", &opcion );
/* Compruebo que lo que tecleé es un número decimal*/
if ( isdigit( opcion ) == 0 ) {
eleccion( opcion );
}
else {
/* Provoca un mensaje de error ya que no existe dicha opción*/
eleccion( 100 );
}
}
void eleccion( int opt )
{
switch( opt ) {
case 0:
;
break;
case 1:
printf( "Ha elegido la opcion %d \n", opt );
break;
case 2:
printf( "Ha elegido la opcion %d \n", opt );
break;
case 3:
printf( "Ha elegido la opcion %d \n", opt );
break;
default:
printf( "Opcion incorrecta, elija una opcion valida \n" );
break;
}
}
