SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: dreadlock en Viernes 23 de Enero de 2004, 23:42

Título: Comprobacion
Publicado por: dreadlock en Viernes 23 de Enero de 2004, 23:42
|==\ |==\|== /\ |==\
|   ||__||  |  ||   |
|   ||  \|° |°°||   |
|==/ |  /|__|  ||==/

Veran, esta es mi pregunta, si quiero hacer una accion mientras que algo no suceda tendria que hacer algo asi:

Código: Text
  1.  
  2. do{
  3. //accion
  4. }while();
  5.  
  6.  

si quiero que se haga mientras el usuario no haga nada seria:
nada=no apretar teclas.

Código: Text
  1.  
  2. do{
  3. //accion
  4. }while(!kbhit());
  5.  
  6.  

eso es algo medio facil, pero que hay si quiero que se haga mientras el usuario no presione alguna tecla en especifico
si pongo algo como:

Código: Text
  1.  
  2. do{
  3. //accion
  4. }while(getche()!=50);
  5.  
  6.  

entre cada iteracion el programa pediria alguna tecla, y si pulsaramos una que no tuviera el valor ascci 50 el programa haria n iteraciones hasta que se pulsara "2" cuyo valor ascci es 50

El dilema es hacer algo como lo anterior, que se pueda iterar mientras una accion no se realice, en el ejemplo anterior la tecla "2"

Alquien sabe alguna forma de hacerlo ¿?, me imagino que existe alguna funcion que hace esto pero cual es....¿?


Les agradecere cualquier ayuda
Título: Re: Comprobacion
Publicado por: plaf en Sábado 24 de Enero de 2004, 00:21
segun entendi quieres q corra solo todo el rato hasta q alguien aprete "2"
para eso tienes q getchear solo si hay alguna tecla apretada, asi:

Código: Text
  1.  
  2. char c;
  3.  
  4. do{
  5.     // accion
  6.     if(kbhit()) c=getch();
  7. }while(c!='2');
  8.  
  9.  
(getch() no muestra lo q apretaron, getche() si)

chachan ;)
Título: Re: Comprobacion
Publicado por: dreadlock en Martes 27 de Enero de 2004, 16:34
gracias eso era lo que necesitaba