Cronometro de consola HH:MM:SS en C/C++

Hola, volviendo de vacaciones y con el objetivo de mi nuevo proyecto tuve la necesidad de crear un cronometro en C, el codigo no esta depurado y es solo un beta pero le puede ser util a alguien.

//Cronometro test
/*
+Autor: Lautaro Linquiman
+Fecha y Hora: 28/02/2015
+Licencia: GPL 3
*/
#include <stdio.h> // printf, scanf
#include <stdlib.h> // system
#include <time.h> // time

void sleep(unsigned int mseconds);
int main(){
int iniciar = 0, v = 0, segundos = 0,
sec = 0, min = 0, hor = 0;
clock_t tiempoDeInicio, tiempoAcual;
printf("Pulsa 1 y enter para iniciar el cronometro:");
while(!iniciar){
/* Inicia un bucle infinito hasta que se ingrese el valor 1 */
scanf("%d", &v);
if(v == 1){
iniciar = 1;
tiempoDeInicio = time(NULL); // Obtiene el tiempo a la hora de iniciar el cronometro - Variable de referencia
}
}

while(1){
/* Se inicia el cronometro */
tiempoAcual = time(NULL); // Obtiene el tiempo para ser comparado con la variable de refencia
segundos = (tiempoAcual-tiempoDeInicio); // Se obtiene la cantidad de segundos

if(segundos < 60){ //Comprueba que la cantidad de segundos sea menor a 60 segundos
sec = segundos;
}else if(segundos >= 60){ //Si los segundos son mayores a 60 se obtene la cantidad de minutos y la cantidad de segundos
min = segundos/60; //Cantidad de minutos
sec = segundos%60; //Cantidad de segundos
}
if(min >= 60){ // SI la cantidad de minutos es mayos o igual a 60 se obtiene la cantidad de horas
hor = min/60;//Cantidad de horas
min = min%60;//Cantidad de minutos
}
/* Estas comparaciones logicas formateas el texto para que siempre sea 00:00:00
+ No hace falta explicarlo ¿ O si ?*/
if(sec < 10 && min < 10 && hor < 10){
printf("Horas 0%d:0%d:0%d", hor, min, sec);
}
if(sec >= 10 && min < 10 && hor < 10){
printf("Horas 0%d:0%d:%d", hor, min, sec);
}
if(sec >= 10 && min > 10 && hor < 10){
printf("Horas 0%d:%d:%d", hor, min, sec);
}
if(sec >= 10 && min >= 10 && hor >= 10){
printf("Horas %d:%d:%d", hor, min, sec);
}
sleep(1000); //Genera una demora en la ejecucion de 1 segundo para evitar una sobre carga
system("cls"); // Borra la consola
}
return 0;
}

void sleep(unsigned int mseconds)
{
clock_t goal = mseconds + clock();
while (goal > clock());
}