Pular para o conteúdo

Simulador de Cronômetro com 2 digitos

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.
************************************************************
Thiago thiagoamm
Hits: 12.081 Categoria: C/C++ Subcategoria: Introdução
  • Download
  • Nova versão
  • Indicar
  • Denunciar

Descrição

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.
************************************************************
Download simcronlinux.c Enviar nova versão

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. 

Antecessor e sucessor

Calculadora de equações de 2º grau versão 2 (com funções)

funcarg2.c - Função com argumento

Criar diretorios

De 10 a 1000

#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

Entre na sua conta para comentar.