Buscando por google mientras intentaba crearlo porque tenía un error, ya que lo tenia todo bien, salvo que me pedia pulsar una tecla todo el rato, cuando yo lo unico que quería era que si yo alguna vez lo pulsase se parase.
Este es mi código, por si algun maste puede decirme que podría sustituir al while((a=getch) != 'P') ya que, yo funciono en Linux y no tengo la libreria conio, y por tanto la funcion getchar ni ninguna asi.
#include <stdio.h>
#include <ncurses.h>
#include <unistd.h>
int d=0;
int main()
{
char a;
initscr();
echo();
printw("Cronometro en segundos, pulse P para parar:n");
do{
cronometro();
refresh();
}while ((a
=getch()) != 'P');
printw("nPulse un tecla para salir.");
endwin();
return 0;
}
int cronometro()
{
int e=d;
for (d; d < e+1 ; ++d){
printw("%dn", d);
sleep(1);
refresh();
}
return 0;
}
Y este es el código que deberia funcionarte (con la libreria windows.h):
#include <stdio.h>
#include <windows.h>
#define LIMIT 36000 /*10 horas*/
#define DXG(a) ((a) / 60)
int main()
{
unsigned it, b = 0;
for(it = 0; it < LIMIT; )
{
Sleep(1000);
b += GetAsyncKeyState(VK_LSHIFT);
if(b == 1) continue;
printf("%02d:%02d:%02dn", DXG
(it
)/60, DXG
(it
)%60, it
% 60 );
it++;
b = 0;
}
return 0;
}
P.D: Este código no es mío, lo encontre un Google, un tal cheroky.