Programación General > C/C++

 Contador Ascendente Descendente

(1/1)

solosequenosenada:
Les envío un cordial saludo a todos ustedes, y espero que puedan ayudarme a resolver mi problemita.

Necesito hacer un programa que en cada momento esté imprimiendo un contador ascendente:

1
2
3
4
5
.
.
.
.

pero cuando presione cualquier tecla y mientras la tenga presionada, dicho contador cuente ahora descendentemente y de igual forma lo imprima....... Por ejemplo:

Inicia el programa:

1
2
3
4
5
6
7
//PRESIONO CUALQUIER TECLA//
6
5
4
3
//SUELTO LA TECLA QUE PRESIONÉ//
4
5
6
7
8
.
.
.
He intentado con  while(kbhit()), pero, una de dos, o no se usarla, o no sirve para mi propósito..... supongo que es la primera...............

He buscado en la ayuda del C++ que tengo (version 3.1), pero no encuentro nada

En fin............Espero se haya entendido el planteamiento de mi problema. Así mismo espero que puedan ayudarme...............

Atte: Alejandro Medina González

PD: Mi objetivo no es hacer ese contador, en realidad estoy haciendo otra cosa, sólo utilicé el ejemplo del contador para plantear el problema que tengo.

e-mail's: solosequenosenada@todito.com[/SIZE]

plaf:
mas q while(kbhit()) no deberia ser if(kbhit())? algo asi como

--- Código: Text ---while(1){printf("%d\n",n);if(kbhit()) n--;else n++;} y cuando tengas dudas sobre lo q hace una funcion especifica, te recomiendo msdn, a mi siempre me saca de apuros. MSDN - kbhit()

Diabliyo:
Hola:

No se compliquen la vida....NO es TAN TAN necesario el kbhit()   solo asi es mas facil :D..


--- Código: Text --- #include <stdio.h>#include <conio.h>#include <ctype.h> int main()  {  int i=0;  char _op='A';   clrscr();  printf( "A= Ascendente\tZ=Desendente\tD=Limpiar Pantalla y Comenzar de Nuevo\tS= Salir" );   printf( "\n\n" );  while( _op!='S' )    {    _op=toupper( getch() );    switch( _op )      {      case 'A':        i++;        printf( "\n%i", i );        break;      case 'Z':        i--;        printf( "\n%i", i );        break;      case 'D':        clrscr();        i=0;        break;      }    }  printf( "\n\nPulsa para salir..." );  getch();  return 0;   }  

Diabliyo:
Hola:

Si quieren compilarlo en VC++  u otro que NO acepte el CLRSCR();....pues hagan esto:

quiten <conio.h>  y clrscr();...y sustituir..
pongan <stdlib.h> y system( "cls" );

Mas que nada es para hacer un codigo fuente mas FUNCIONAL o COMPILABLE en otros compiladores :D (para evitar criticas como experiencias)

byeeeeeee

mabrev:

--- Cita de: "Diabliyo" --- Hola:

Si quieren compilarlo en VC++  u otro que NO acepte el CLRSCR();....pues hagan esto:

quiten <conio.h>  y clrscr();...y sustituir..
pongan <stdlib.h> y system( "cls" );

Mas que nada es para hacer un codigo fuente mas FUNCIONAL o COMPILABLE en otros compiladores :D (para evitar criticas como experiencias)

byeeeeeee
--- Fin de la cita ---
Hola:

  El problema de hacer lo que dices es que no sirve para otros sistemas operativos tales como linux o unix, en los que en vez de utilizar system("cls") hay que utilizar system("clear"). Así que habrá que decidir entre que compile en más compiladores o funcione en otros S.O.

Saludos

Navegación

[0] Índice de Mensajes

Ir a la versión completa