C/Visual C - problemas en una funcion

 
Vista:

problemas en una funcion

Publicado por blaster (22 intervenciones) el 11/02/2002 19:35:17
Buenas.
Antes de nada voy a poner el codigo para poder explicarme mejor:

char opciones;
char pregunta;

void lista_opciones()
{
puts("\n ---------------------------------------");
puts(" ------------ OPCIONES ---------------");
puts(" ---------------------------------------\n");
puts(" 1)- prueba ");
puts(" 2)- prueba ");
puts(" 3)- prueba ");
puts(" 4)- prueba ");
printf(" ¿ Que opcion deseas ?: ");
opciones = getchar();
switch (opciones)
{

case '1':
printf("1");

break;
case '2':
printf("2");

break;
case '3':
printf("3");

break;
case '3':
printf("3");

}
}
int main()
{
lista_opciones();

printf("\n Deseas salir? ");
scanf(" %c", &pregunta );

if (pregunta=='s')
{ exit(0); }

else (pregunta=='n');
{ lista_opciones(); }

}

Cuando el programa pide si desea salir le pongo un exit(0); si dice que si, pero si dice que no desea salir repito la fucion lista_opciones(); , pero esta cuando se repite no me deja insertar ningun dato con opciones = getchar();
¿ alguna idea ?
Un saludo
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:problemas en una funcion

Publicado por Ismael (230 intervenciones) el 11/02/2002 21:35:16
Antes de opciones=getchar() ; te conviene poner un fflush(stdin); para limpiar el bufer de teclado y evitar que salte en las sucesivas ejecuciones debido al '\n' (intro ).Ademas el if es incorrecto. Debería ser:
if (pregunta=='s')
{ exit(0); }
else
if (pregunta=='n')
{ lista_opciones(); }
Ademas, aunque no crea problemas, te falta el default en la estructura switch...case
Un saludo
Ismael
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar