Relógio em C

Publicado por Mauricio Moccelin (última atualização em 28/11/2016)

[ Hits: 3.519 ]

Homepage: https://www.linkedin.com/in/mauriciomoccellin/

Download Relogio.c

Download 1476969585.Relogio.c (versão 2)




Este script simula um relógio, basta setar a hora e o programa vai calcular a partir do momento especificado. A saída tem o formato:

[ h : m : s ]

No decorrer de uma hora os cálculos apresentam um atraso de de +- 1,2 min a cada 2 horas corridas e relação a hora setada no início do programa. Se houver alguma coisa errada corrijam-me.

  



Versões atualizadas deste script

Versão 2 - Enviado por Mauricio Moccelin em 20/10/2016

Changelog: Atualização...
Este script simula um relógio, basta setar a hora e o programa vai calcular a partir do momento especificado. A saída tem o formato:

[ h : m : s ]

No decorrer de uma hora os cálculos apresentam um atraso de de +- 1,2 min a cada 2 horas corridas e relação a hora setada no início do programa. Se houver alguma sugestão de melhoria contate-me.
mauriciomoccellin@hotmail.com

Download 1476969585.Relogio.c


Esconder código-fonte

#include <stdio.h>
#include<stdlib.h>
#include<windows.h>
#include<stdlib.h>

#define DIA 23
#define MIN 59

         /********************************************************************************************************
         *    RELÓGIO                                                            
         *                                                                     
         *    Mauricio Moccelin - mauriciomoccellin@hotmail.com                                     
         *                                                                     
         *    Engenharia da Computação - 2016 - Flores Da Cunha                                    
         *                                                                     
         *    Chamada de Funções por main();                                             
         *                                                                        
         *********************************************************************************************************/

// prototipacao dos módulos

void relogio (int hora, int minuto, int segundo);
void Ajustar (void);

/*----------------------------*-_-*------------------------------*/

/*
*   Função para calcular hora apartir de paramentros passados pela função Ajuste()
*/

void relogio(int hora, int minuto, int segundo)
{      //funçao recebe ajuste e trabalha apartir deste
      int h,m,s;
      h = hora; m = minuto; s = segundo;
      for (;;){
            Sleep(1000);
            ++s;
            if (s > MIN){
               m++;
               s = 0;   
            }
            if (m > MIN){
               h++;
               m = 0;
            }
            if (h > DIA){
               h = 0;
            }
            system("cls || clear");
            printf ("[%i]:[%i]:[%i]",h,m,s);
      }
}

void Ajustar()
{      // função para setar hora de arranque
      int h,m,s;
      system("cls || clear");
      printf("\t****************AJUSTAR/ATUALIZAR Hora***************** \n\n");
      do {
         fflush(stdin);
         printf("Entre com o valor da hora ex: 3\n ->");
         scanf("%i",&h);
         printf("Entre com o minuto ex: 15 \n ->");
         scanf("%i",&m);
         printf("Entre com o segundo ex: 24 \n ->");
         scanf("%i",&s);   
      }while(h > 24 || m > 60 || s > 60);
      
      relogio(h,m,s);
   }

int main (void)
{      
      printf("\t****************- RELOGIO EM C -***************** \n\n");
      int i = 1;
      
      do {
         system("cls || clear");
         fflush(stdin);
         printf("(1) Setar Hora:");
         scanf("%d",&i);   
      }while (i != 1);
      
      switch(i)
      {
         case 1:
            Sleep(1000);
            Ajustar();         
            break;      
      }
      return(0);
}

Scripts recomendados

Jogo da velha - Contra PC

Conversor de Temperaturas

Ordenar vetor - ordenação bolha

Acendedor de leds pela porta paralela

Função fork


  

Comentários
[1] Comentário enviado por all123all em 20/12/2016 - 16:55h

Tenta setar o tempo pelo Unix Time, acredito que seja o método mais preciso.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts