Siga-nos em...
Follow us on Twitter Follow us on Facebook Watch us on YouTube
Registro


Alpha Servers
Resultados 1 a 6 de 6
  1. #1

    Avatar de Sup_Anjo
    Data de Ingresso
    Nov 2011
    Localização
    Barra do Garças
    Idade
    25
    Posts
    71
    Agradecido
    10
    Agradeceu
    4
    Peso da Avaliação
    7

    Padrão Programa [Relógio] [Avançado]

    E ae moçada ligada na Imp Games, cá estou novamente para postar um Tutorial de como Desenvolver um pequeno e Simples Relógio em C. Nesse Tuto foram incluídas 1 Biblioteca nova que ainda não usei em nenhum tutorial e uma pequena função. Então vamos ao que interessa.



    Código:
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h> // Biblioteca Padrão para se mexer com Funções de Tempo
    
    struct dados // Declarando a Struct
    {
    	int segundos; // Variavel dentro da Struct
    	int minutos;  // Variavel dentro da Struct
    	int horas;    // Variavel dentro da Struct
    
    }; // Aqui não dei o nome da Struct, por que se eu Declarasse ela Seria Variável Global
    
    void atualizar_horas(struct dados *t) // Iniciando a Função Atualizar_Horas
    {
    	(*t).segundos++; // Segundos será incrementado em +1
    	if ( (*t).segundos == 60 ) // se segundos =60 irá zerar Segundos e Incrementará Minutos em +1
    	{
    		(*t).segundos = 0;
    		(*t).minutos++;
    	}
    	if ((*t).minutos == 60 ) // se Minutos =60 irá zerar Minutos e Incrementará Horas em +1
    	{
    		(*t).minutos = 0;
    		(*t).horas++;
    	}
    	if ( (*t).horas == 24 ) // se Horas =24 irá Zerar, Recomeçando novamente o Processo de Tempo
    	{
    		(*t).horas = 0;
    	}
    	return;
    } // Fechando a Função Atualizar_Horas
    
    void mostrar_horas(struct dados *t) // Iniciando a Função Mostrar_Horas 
    {
    	system("cls"); // Comando usado para Apagar a Tela
    	printf("%d : ", (*t).horas); //imprimindo Horas
    	printf("%d : ", (*t).minutos); //imprimindo Minutos
    	printf("%d", (*t).segundos); //imprimindo Segundos
    	return;
    } // Fechando a Função Mostrar_Horas
    
    int main(void) // Iniciando a Função Int retornando um Valor Void " Vazio "
    {
    	struct dados time; // Atribuindo nome a minha Struct
    
    	time.segundos =0; // Atribuindo Valor 0 a Segundos
    	time.minutos =0;  // Atribuindo Valor 0 a Minutos
    	time.horas =0;    // Atribuindo Valor 0 a Horas
    
    	int cont = 0; // Atribuindo Valor 0 ao Contador
    
        for(cont=0;cont>=0;++cont) // Iniciando For para virar Loop Infinito
        {
    		sleep(1000); // Espera 1 Segundo (Tempo em Milisegundos)
    		atualizar_horas(&time); // Atualizando as Horas
    		mostrar_horas(&time);   // Mostrando Horas
        } // Fim do For que Gerou Loop Infinito
    	return;
    }// Fechando a Função Int retornando um Valor Void " Vazio "


    Informação
    Créditos pelo Tutorial : Sup_Anjo
    Última edição por João Neto; 02-04-2013 às 01:17 PM. Razão: Arrumando...

    Eu sou a chuva que lança as areias do Saara Sobre os automóveis de Roma

  2. #2

    Avatar de Pronoob
    Data de Ingresso
    Sep 2009
    Localização
    no pc
    Posts
    194
    Agradecido
    17
    Agradeceu
    8
    Peso da Avaliação
    11

    Padrão

    for(cont=0;cont>=0;++cont) // Iniciando For para virar Loop Infinito
    Última edição por adrianodjs; 25-11-2012 às 08:29 PM.
    Nada a declarar.

  3. #3

    Avatar de Sup_Anjo
    Data de Ingresso
    Nov 2011
    Localização
    Barra do Garças
    Idade
    25
    Posts
    71
    Agradecido
    10
    Agradeceu
    4
    Peso da Avaliação
    7

    Padrão

    @ Pronoob

    O que sugere para que nosso programa crie um loop infinito ?
    Eu agradeço

    Att: Sup_Anjo

    Eu sou a chuva que lança as areias do Saara Sobre os automóveis de Roma

  4. #4

    Avatar de gneccao
    Data de Ingresso
    Aug 2010
    Localização
    11111111111111111
    Idade
    26
    Posts
    57
    Agradecido
    24
    Agradeceu
    11
    Peso da Avaliação
    8

    Padrão

    while(true) ?

  5. #5

    Avatar de Pronoob
    Data de Ingresso
    Sep 2009
    Localização
    no pc
    Posts
    194
    Agradecido
    17
    Agradeceu
    8
    Peso da Avaliação
    11

    Padrão

    como disse o gneccao use while(true) , assim sua instrução será executada infinitamente.

    OBS 1:a função "for" é pra repetição com intervalo definido.

    OBS 2:sempre que usar um loop infinito "while(true)" coloque um "sleep", caso contrário sua aplicação irá travar o computador.(Acredito que já saiba disso, mas pra quem não sabe fica dika)

    OBS 3: Seu aplicativo não seria exatamente um relógio, está mais para um cronometro já que ele sempre vai começar zerado e dai então ele começa a contagem de tempo.

    OBS 4: Moderadores/S. Moderadores parem de editar meus posts sem necessidade

    OBS 5: Continue assim, com certeza você está no caminho certo, parabéns.
    Nada a declarar.

  6. #6



    Avatar de João Neto
    Data de Ingresso
    Nov 2010
    Localização
    Barzinho de Lorencia
    Idade
    24
    Posts
    1.090
    Agradecido
    46
    Agradeceu
    26
    Peso da Avaliação
    19

    Padrão

    @Pronoob,

    "adrianodjs" fez certo em editar seu post, não tinha sentido nenhum, você queria zombar do membro ou algo parecido pois se queria mesmo ajudar teria postado no mesmo momento o que foi postado pelo "gneccao".

    @Sup_Anjo,

    Programa bem interessante, para se tornar um relógio mais complexo só colocar para usuario definir à hora atual...

    Atenciosamente,
    João Neto.
    Hidden Content
    Um verdadeiro guerreiro sabe que ao perder uma batalha
    está melhorando sua arte de manejar a espada.
    Saberá lutar com mais habilidade
    na próxima vez.

 

 

Informações de Tópico

Usuários Navegando neste Tópico

Há 1 usuários navegando neste tópico. (0 registrados e 1 visitantes)

Tópicos Similares

  1. |Notícia| Táticas - Avançado.
    Por Bruno Lucena no fórum League of Legends
    Respostas: 0
    Último Post: 30-01-2013, 07:30 AM
  2. |Tutorial| Potion De Double Exp Avançado
    Por KromeSykes no fórum Tibia | Tutoriais
    Respostas: 0
    Último Post: 14-06-2011, 10:11 AM
  3. |Tutorial| Usando Namespaces no PHP - Avançado
    Por 14biss no fórum Tutoriais
    Respostas: 0
    Último Post: 30-05-2011, 10:33 PM
  4. |Tutorial| Colque Seu Nome Do Lado Do Relogio do Windows [ Win XP ]
    Por Mr.TwoHam no fórum Tutoriais
    Respostas: 1
    Último Post: 17-11-2010, 04:12 PM
  5. |Vídeo-aula| [Avançado] Sign Modelada
    Por psiko no fórum Vídeo-aulas
    Respostas: 0
    Último Post: 27-04-2010, 10:48 PM

Marcadores

Permissões de Postagem

  • Você não pode iniciar novos tópicos
  • Você não pode enviar respostas
  • Você não pode enviar anexos
  • Você não pode editar suas mensagens
  •