Relógio com data e hora

Publicado por Perfil removido (última atualização em 16/01/2010)

[ Hits: 8.128 ]

Download relogio.c




Um pequeno relógio que pode ser usado em outros programas criados por algum de vocês! :-)

Não usei Threads, mas sim uma simulação do uso de Threads.

Espero que gostem. Qualquer melhoria será bem vinda!

Grande abraço.

  



Esconder código-fonte

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <time.h>

typedef struct data_hora {
   int seg, min, hor,
      dia, mes, ano;
   char str_mes[15];
}dh;

void clear(void) {
   system("clear"); 
}

int main(int argc, char **argv) {
   
   struct data_hora dt_hr;
   struct tm *data;
   time_t tempo;
   
   if (argc > 0) {   
      for (;;) {   
         tempo = time(NULL);
         data = localtime(&tempo);
         dt_hr.hor = data -> tm_hour;
         dt_hr.min = data -> tm_min;
         dt_hr.seg = data -> tm_sec;
         dt_hr.dia = data -> tm_mday;
         switch (dt_hr.mes = data -> tm_mon+(1)) {
            case 1:
               strcpy(dt_hr.str_mes,"Janeiro");
               break;
            case 2:
               strcpy(dt_hr.str_mes,"Fevereiro");
               break;
            case 3:
               strcpy(dt_hr.str_mes,"Março");
               break;
            case 4:
               strcpy(dt_hr.str_mes,"Abril");
               break;
            case 5:
               strcpy(dt_hr.str_mes,"Maio");
               break;
            case 6:
               strcpy(dt_hr.str_mes,"Junho");
               break;
            case 7:
               strcpy(dt_hr.str_mes,"Julho");
               break;
            case 8:
               strcpy(dt_hr.str_mes,"Agosto");
               break;
            case 9:
               strcpy(dt_hr.str_mes,"Setembro");
               break;
            case 10:
               strcpy(dt_hr.str_mes,"Outubro");
               break;
            case 11:
               strcpy(dt_hr.str_mes,"Novembro");
               break;
            case 12:
               strcpy(dt_hr.str_mes,"Dezembro");
               break;
         }
         dt_hr.ano = data -> tm_year+(1900);
         clear();
         printf("%d:%d:%d  -  %d de %s de %d\n", dt_hr.hor, dt_hr.min, dt_hr.seg, dt_hr.dia, dt_hr.mes_convertido, dt_hr.ano);
         sleep(0);
      }
   }
   return(0);
}

Scripts recomendados

Lista Duplamente Encadeada em C

Manipulação de letras maiusculas e minusculas

Comando strieql

Super Thiagout (Breakout) - O Jogo

[C] Parâmetros para printf


  

Comentários
[1] Comentário enviado por hellupline em 16/01/2010 - 23:37h

so uma dica:

en vez de usar:
system("clear");
use:
printf("\e[H\e[2J");
ou
printf("\33[H\33[2J");

pode ser visto esse codigo ake:
http://www.vivaolinux.com.br/dica/Como-limpar-a-tela-em-C/

[2] Comentário enviado por removido em 17/01/2010 - 16:01h

Sim, conheço!
Mas por termo de organização e para quem for ler o código, melhor deixar: void clear(void) { system("clear"); }
E quando precisar da mesma, chamar: clear();
Temos que deixar o código mais limpo possível para que possamos, realmente, trabalhar em grupo. :)
Um abraço!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts