Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Hack-11 en 23 Agosto 2011, 21:56 pm



Título: Tiempo en C++
Publicado por: Hack-11 en 23 Agosto 2011, 21:56 pm
Buenas,

estoy recien aprendiendo C++ viendo videos y eso, y me salto una duda que no vi en ningun video. Como se podria hacer digamos un contador en C++, por ejemplo: yo imprimo un numero en la pantalla y a los 10 segundos ese numero desaparece. Que librerias habria que suar, que funciones, un ejemplo de como se haria..etc nose algo para yo saber como debo hacerlo.

Un salu2


Título: Re: Tiempo en C++
Publicado por: madpitbull_99 en 23 Agosto 2011, 22:09 pm
Supongo que te refieres a calcular el tiempo de ejecución del programa.

En C, se haría de la siguiente manera:

Código
  1. #include <stdio.h>
  2. #include <time.h>
  3.  
  4. clock_t start = clock();
  5.  
  6. /* Aqui va el codigo */
  7.  
  8. printf("Tiempo transcurrido: %f\n", ((double)clock() - start) / CLOCKS_PER_SEC);

En Linux (o Cygwin) puedes usar "time":

Código
  1. /usr/bin/time ./mi_programa

Y te mostrará el tiempo de ejecución:

Código
  1. real    0m0.892s
  2. user    0m0.076s
  3. sys     0m0.428s



PD: Parece que he entendido mal la pregunta.


Título: Re: Tiempo en C++
Publicado por: Hack-11 en 23 Agosto 2011, 22:15 pm
Primero muchisimas gracias .Pero si eso es C no me sirve para C++ no? o si? y segundo nose si es tambien a lo que tu te refieres pero creo que no, yo lo que me interesa es que por ejemplo, con cout imprimo una palabra/numero en la pantalla no? bueno pues que al pasar por ejemplo nose 5 segundos, ese numero/palabra desaparece pero el programa sigue corriendo. Me explico?

Gracias :)


Título: Re: Tiempo en C++
Publicado por: rir3760 en 24 Agosto 2011, 00:48 am
Es posible pero no basta con solo la biblioteca estándar de C++. Para ello se deben utilizar extensiones para imprimir en una ubicación especifica y para tener dos hilos en ejecución (uno para el proceso principal del programa y otro para, como indicas, imprimir y borrar los caracteres).

Si apenas empiezas seria mejor dejar eso para después, una vez obtengas un buen manejo del lenguaje.

Un saludo


Título: Re: Tiempo en C++
Publicado por: ..:ALT3RD:.. en 24 Agosto 2011, 01:46 am
Yo lo hize con un bucle y un if , aunque no creo que sea la forma correcta, va bien Jaja


Título: Re: Tiempo en C++
Publicado por: Fastolfe en 24 Agosto 2011, 02:35 am
Hola! He intentado hacer el programa tal y como describes madpitbull_99, pero no me funciona, solo me salen 0s.

El código es el siguente:

Código
  1. #include <stdio.h>
  2. #include <time.h>
  3.  
  4. int main(){
  5. clock_t start = clock();
  6.  
  7. char var = 1;
  8.  
  9. while (var != 0){
  10. scanf("%c", &var);
  11.  
  12. printf("\n Elapsed time: %f", ((double)clock() - start) / CLOCKS_PER_SEC);
  13. }
  14.  
  15. return 0;
  16. }

¿Qué es lo que falla?


Título: Re: Tiempo en C++
Publicado por: madpitbull_99 en 24 Agosto 2011, 10:34 am
Mira mi ejemplo:

(http://madzone.comoj.com/image_host/images/10797597304e54b739e474c1.87775679captura.png)