[C con Clase] Terminar bucle infinito
judit
zallux3 en yahoo.es
Lun Sep 8 01:40:55 CEST 2008
El pasado 2008-09-07 23:23:53, Steven Davidson escribió:
SD> Hola Judit,
SD> judit wrote:
SD> > Creo que no me explique,, perdon.. yo me referia a terminar un bucle
SD> > cuando apretas una tecla o algo asi,,. es decir: comienzas un bucle y
SD> > pones una funcion que si apretas la tecla 'x' terminas el bucle y
SD> > continuas con el programa, si no apretas la tecla 'x' el bucle sigue
SD> > trabajando.
SD> Esto es diferente. De hecho, no veo que necesites un bucle infinito.
SD> Acabas de dar la condición para salir del bucle y por tanto para
SD> continuar en ello. El esquema sería el siguiente:
SD> bool bSalir = false;
SD> while( !bSalir )
SD> {
SD> ...
SD> if( hayTecla() )
SD> bSalir = 'x' == leerTecla();
SD> ...
SD> }
SD> O incluso,
SD> while( 'x' == leerTecla() )
SD> {
SD> ...
SD> }
SD> Me temo que no podemos darte las funciones concretas, porque las
SD> bibliotecas estándares de ANSI C no se dedican a tal comportamiento. Sin
SD> embargo, existen bibliotecas no estándares que sí te ayudarían para
SD> consultar y obtener las teclas pulsadas y no los caracteres escritos.
SD> En cualquier caso, no tenemos un bucle infinito. Podrías crear un bucle
SD> infinito si de verdad lo necesitas. En este caso, sí tendríamos que usar
SD> 'break' para salir del bucle. Por ejemplo,
SD> while( true )
SD> {
SD> ...
SD> if( hayTecla() && 'x' == leerTecla() break;
SD> ...
SD> }
SD> Espero que esto te oriente.
SD> Steven
muchas gracias a todos por las respuestas tan rapidas,,, otra pregunta (tengo que aclarar que soy muy novata en c, y me he quedado de momento practicando en bucles, estructuras, librerias y poco mas). donde puedo consultar librerias que no sean ansi c. ¿hay alguna pagina? -compilo en linux anjuta.
gracias
judit
Más información sobre la lista de distribución Cconclase