Tiempo en C++

Iniciado por Hack-11, 23 Agosto 2011, 21:56 PM

0 Miembros y 1 Visitante están viendo este tema.

Hack-11

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

madpitbull_99

#1
Supongo que te refieres a calcular el tiempo de ejecución del programa.

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

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

clock_t start = clock();

/* Aqui va el codigo */

printf("Tiempo transcurrido: %f\n", ((double)clock() - start) / CLOCKS_PER_SEC);


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

Código (bash) [Seleccionar]
/usr/bin/time ./mi_programa

Y te mostrará el tiempo de ejecución:

Código (bash) [Seleccionar]
real    0m0.892s
user    0m0.076s
sys     0m0.428s




PD: Parece que he entendido mal la pregunta.



«Si quieres la paz prepárate para la guerra» Flavius Vegetius


[Taller]Instalación/Configuración y Teoría de Servicios en Red

Hack-11

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 :)

rir3760

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
C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language

..:ALT3RD:..

Yo lo hize con un bucle y un if , aunque no creo que sea la forma correcta, va bien Jaja
"Mañana sabrás que hoy no sabes nada"

Fastolfe

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:

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

int main(){
clock_t start = clock();

char var = 1;

while (var != 0){
scanf("%c", &var);

printf("\n Elapsed time: %f", ((double)clock() - start) / CLOCKS_PER_SEC);
}

return 0;
}


¿Qué es lo que falla?

madpitbull_99




«Si quieres la paz prepárate para la guerra» Flavius Vegetius


[Taller]Instalación/Configuración y Teoría de Servicios en Red