como contar tiempo

Cuestiones y dudas acerca de lenguajes de programación diversos.

Moderador: Moderadores

Avatar de Usuario
jjsg

como contar tiempo

Mensaje por jjsg » Mar Feb 24, 2004 10:54 am

necesito hacer que cuando pase un determinado tiempo (10 segundos), se ejecute una linea de codigo, alguien me puede decir como hacerlos

muchas gracias

Avatar de Usuario
Invitado

¿en que lenguaje?

Mensaje por Invitado » Jue Feb 26, 2004 7:47 pm

¿EN QUÉ LENGUAJE DE PROGRAMACIÓN?

En basic sería tan sencillo como poner

SLEEP 10

Y en c hay otra orden parecida que creo que es wait y el tiempo en milisegundos

wait (10000);

...o algo así

Si te refieres a otra operación más complicada explícala con más detalle.

Avatar de Usuario
Invitado

Mensaje por Invitado » Sab Mar 06, 2004 10:24 am

Para hacerlo en c tienes que usar la función clock que está en time.h. Está función devuelve el tiempo en ciclos del reloj o algo así, para obtenerlo en segundos lo que devuelve tienes que dividirlo por una macro llamada CLOCKS_PER_SEC definida en el time.h también. Esto devolvería el tiempo en el instante de llamar a la función. Si quieres contar por ejemplo 10 segundos, podrías llamar a esta funcion y guardar el tiempo en la variable time1 por ejemplo. Luego podrías hacer un bucle en el que se llame a clock y se guarde el resultado en time2. Como condicion pondrías que no se salga del bucle mientras (time2-time1)<10.

Avatar de Usuario
Diabliyo

Aqui esta !!!

Mensaje por Diabliyo » Dom Mar 07, 2004 3:17 am

Hola:

Pues lo mas usual seria usar en cabezera: <time.h> y usar la funcion time().... Si usamos Sleep(); necesitamos la cabezera <windows.h> y pues si usas un compilador como: Turbo C 2.0 o 4.5win NO FUNCIONARA.... Lo mejor y mas BASICO es este codigo de EJEMPLO que te dejo....

Lo que hace es poner en pantalla la palabra CARGANDO y por cada SEGUNDO pone un * solo hayq ue hacerle cambio si es que quieres que dure 10 segundos o mas...

Código: Seleccionar todo

#include <stdio.h>
#include <conio.h>
#include <ctype.h>
#include <time.h>
#include <dos.h>


/*
Puese modificar el ciclo FOR, ya que como esta puesto  i<6, osea pondra
sies *.

Puese de igualmodo modificar el TIME(0)-TM==1  dentro del IF...por logica
lo puse  ==1  osea que cada ves que pase 1 segund entrara al IF :D
*/

void cargando( void )
	{
	clrscr();

	long tm;
	int i;
	
	tm= time(0);

	for( i=0; i<6; )
		{
		if( time(0)-tm==1 )
			{
			putchar( '*' );
			sound( 500 );
			tm= time(0);
			i++;
			}
		nosound();
		}
	}

int main()
	{
	char _op='A';
	
	while( _op!='S' )
		{
		clrscr();
		printf( "-Mostrar Ejemplo del uso de TIME.H." );
		printf( "-Salir." );
		printf( "\n\n:: " );
		_op= toupper( getch() );
		switch( _op )
			{
			case 'M':
				cargando();
				printf( "\n\n\nPulsa una tecla.." );
				getch();
				break;
			}
		}
	printf( "\n\nPulsa para salir..." );
	getch();
	return 0;
	}
NOTA: la cabezera <dos.h> es para poder usar soudn() y nosound(); las cuales reproducen un sonido. Aligual <ctype.h> es para usar toupper(); la cual convierte cualquier letra a MAYUSCULAS...

byeeeeeeeee

Avatar de Usuario
Diabliyo

me falto :P .....

Mensaje por Diabliyo » Dom Mar 07, 2004 3:22 am

Hola:

Por las carreras NO te puse la palabra CARGANDO...agregale este pedazo..ahi esta...

byeeeeeee

Código: Seleccionar todo

void cargando( void ) 
   { 
   clrscr(); 

   long tm; 
   int i; 
    
   tm= time(0); 

   gotoxy( 30, 10 ); printF( "Cargando" );
   printf( "\n\t\t\t      " );
   for( i=0; i<6; ) 
      { 
      if( time(0)-tm==1 ) 
         { 
         putchar( '*' ); 
         sound( 500 ); 
         tm= time(0); 
         i++; 
         } 
      nosound(); 
      } 
   } 


Responder