Pular para o conteúdo

Função "Temporizador" em C

Exemplo simples em compilação normal.

A função lê um instante do sistema e divide o valor pelo número de ciclos de execução da máquina para calcular tempo.

Depois faz isto por uma segunda vez dentro de um laço (loop).

Quando a diferença entre a segunda e a primeira leitura for igual a um valor fornecido em segundos à função, o loop se encerra e a função termina.

Deste modo, durante a execução da função passou-se este tempo em segundos.

Igual à sleep em Bash.
Perfil removido removido
Hits: 39.655 Categoria: C/C++ Subcategoria: Avançado
  • Download
  • Nova versão
  • Indicar
  • Denunciar

Descrição

Exemplo simples em compilação normal.

A função lê um instante do sistema e divide o valor pelo número de ciclos de execução da máquina para calcular tempo.

Depois faz isto por uma segunda vez dentro de um laço (loop).

Quando a diferença entre a segunda e a primeira leitura for igual a um valor fornecido em segundos à função, o loop se encerra e a função termina.

Deste modo, durante a execução da função passou-se este tempo em segundos.

Igual à sleep em Bash.
Download pausa001.c Enviar nova versão

Esconder código-fonte

#include <stdio.h>
#include <time.h>

// prototipo
void pause (float);

/** procedimento de compilacao normal
  * uso: pause(valor)
  *
  * valor eh um numero maior que zero podendo ser uma fracao.
  * eh o tempo em segundos de pausa no programa.
**/



void pause (float delay1) {

   if (delay1<0.001) return; // pode ser ajustado e/ou evita-se valores negativos.

   float inst1=0, inst2=0;

   inst1 = (float)clock()/(float)CLOCKS_PER_SEC;

   while (inst2-inst1<delay1) inst2 = (float)clock()/(float)CLOCKS_PER_SEC;

   return;

}

int main (void) {

   printf ("Favor olhar para o relogio da maquina para conferir.\n");
   printf ("5,5 segundos antes...\n");
   pause (5.5);
   printf ("5,5 segundos depois...\n");

   return 0;

}

Árvore de busca binária com frequência de consultas

livraria

Jogo da Velha com IA invencivel

AVL

QuickSort Genérico

#1 Comentário enviado por guibazzotti em 31/10/2016 - 09:20h
Olá,
A função funciona perfeitamente, porém tive que retirar de seu código a função main, pois desejava utilizar a função em um programa à parte. Esse é o meu conselho para quem quiser utilizar em um programa separado. Obrigado pela ajuda e parabéns pelo trabalho.

Contribuir com comentário

Entre na sua conta para comentar.