Simulador de Cronômetro com 2 digitos

Publicado por Thiago 14/03/2006

[ Hits: 11.698 ]

Download simcronlinux.c




Esta versão simula melhor a apresentação dos dígitos em um cronômetro.
*************** INICIANTES EM PROGRAMAÇÃO *****************
O código implementa estruturas condicionais compostas e estruturas de repetição em abundância. Reflita a respeito do que foi codificado e faça alterações se julgar necessário. Através da comparação entre as duas versões do programa será possível perceber o quanto a posição do incremento faz diferença.
************************************************************

  



Esconder código-fonte

/*
 * Programa: simcronlinux.C
 * Autor: Thiago Alexandre
 * Data: 13/03/06
 * OBS: ARQUIVO EM FASE DE TESTE!
 * Possiveis melhoramentos podem ser implementados.
 */
  
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
  int hora,min,seg; // Declarando as variáveis.
  int i;
  int u = 0;
  hora = 0, min = 0, seg = 0; // Inicializando variáveis.

  system("clear");
  printf("\n --------------------- INICIANDO CRONOMETRO ------------------------ \n");
  getchar();
  system("clear");
  
  while (hora < 24)
  { 
    while (min < 60)
    { 
      while (seg < 60)
      {         
        if (seg < 10)
        {
          if (min < 10)
          {
            if (hora < 10)
              printf("\n 0%d:0%d:0%d",hora,min,seg);
            else 
              printf("\n %d:0%d:0%d",hora,min,seg);
          }
          else
          {
            if (hora < 10) 
              printf("\n 0%d:%d:0%d",hora,min,seg);
            else 
              printf("\n %d:%d:0%d",hora,min,seg);
          }
        }
        else
        {
          if (min > 9)
          {
            if (hora > 9)
              printf("\n %d:%d:%d",hora,min,seg);
            else
              printf("\n 0%d:%d:%d",hora,min,seg);
          }        
          else
          {
            if (hora > 9)            
              printf("\n %d:0%d:%d",hora,min,seg);
            else 
              printf("\n 0%d:0%d:%d",hora,min,seg);
          }
       }      
        /* Loop de delay que gera tempo de processamento dando
        a impressao de milionesimos de segundo.        
        Caso queira aumentar a velocidade diminua o valor. */        
        
        for (i = 0; i < 1; i++)                  
          u++;         
        seg = seg + 1;      
        /* Caso queira ver toda a contagem impressa na tela comente o 
        comando abaixo */
        system("clear");
      }
      seg = 0; // Resetando segundo.
      min = min + 1; // Incrementando minuto.      
    }
    min = 0; 
    hora = hora + 1; // Incrementando hora.     
    
    /* Controle de horas */            
    if (hora > 23)
    {
      hora = 0; // Resetando hora, para que o loop seja continuo.
    }         
  } 
} // Fim. 

Scripts recomendados

Filas em C

Recursividade x Iteratividade

Utilização de Ponteiros

Day Calculator - Calculador de dias

Gerar senhas em C


  

Comentários
[1] Comentário enviado por thiagoamm em 14/03/2006 - 18:27h

Por favor comentem.
Os comentários além de incorajarem nos estudos irão nos mostrar outros pontos de vista gerando crescimento e união dos membros da comunidade.


[2] Comentário enviado por thiagoamm em 16/03/2006 - 11:41h

Ainda não tenho o conhecimento necessário para ajustar o cronômetro ao clock do processador mas vou procurar contornar essa situação.
Aos visitantes que se interessarem por colaborar ou comentar ficam aqui registrados minha aprovação e agradecimentos.

[3] Comentário enviado por deadoc em 21/10/2010 - 19:16h

Eu fiz assim... porém tbm não estã tão correto... dependendo o processador os segundos passam mais rapidos q deveriam devido ao for ...

#include <stdio.h>
#include <stdlib.h>
int main () {
int h,m,s,i;
h=0;
m=0;
s=0;

while (h<24){
while (m<60){
while (s<60){
for (i=0; i<=100000000;i++){
if(i==100000000){
printf("\n %d:%d:%d",h,m,s);
s++;
system("cls");
} //fim if
}//fim for
if (s==60){
printf("\n %d:%d:%d",h,m,s);
m++;
s=0;
system("cls");
} //fim if

}//fim while s
if (m==60){
printf("\n %d:%d:%d",h,m,s);
h++;
m=0;
system("cls");
} //fim if
}//fim while m
if (h==24){
printf("\n %d:%d:%d",h,m,s);
h=0;
system("cls");
} //fim if
}//fim while h
system("pause");
return 0;
}

[4] Comentário enviado por Sector c em 15/04/2012 - 11:33h

Eu queria ajustar o cronometro, iniciando numa função, e parar quando quisesse, retornado ao ultimo valor no cronometro.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts