Ver Mensaje Individual
  #5 (permalink)  
Antiguo 02/10/2014, 14:30
Avatar de Profesor_Falken
Profesor_Falken
 
Fecha de Ingreso: agosto-2014
Ubicación: Mountain View
Mensajes: 1.323
Antigüedad: 9 años, 8 meses
Puntos: 182
Respuesta: Cerrar programa pidiendo teclas

Cita:
usando eso, el programa cierra con S y continua con N, pero si aprieto cualquier otra letra, me repite el programa, lo que necesito es que si no aprieto ninguna de las dos indicadas, me vuelva a preguntar lo mismo hasta que ponga alguna de las teclas que pide, el fflush lo dejo?
???????

Lo has probado?. A mi me funciona tal como dices perfectamente.

Te pongo un ejemplo completo y más sencillo para que lo puedas probar tu mismo rápidamente:

Código C:
Ver original
  1. int main() {
  2.     char s;
  3.  
  4.     do {
  5.         puts("Ejecuta programa");
  6.         do {
  7.             printf(
  8.                     "\nPresiona S si deseas terminar el programa de lo contrario presiona N ");
  9.  
  10.             fscanf(stdin, " %c", &s);
  11.         } while (s != 'N' && s != 'n' && s != 'S' && s != 's');
  12.     } while (s != 'S' && s != 's');
  13.  
  14.  
  15.     return 0;
  16. }

Respecto a lo de usar el fflush, como ves no hace falta si dejas un espacio antes del %c. Hay otras formas de hacerlo:
http://faq.cprogramming.com/cgi-bin/...&id=1043284392


Un saludo
__________________
If to err is human, then programmers are the most human of us