Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Segundos con funciòn "clock()"

Estas en el tema de Segundos con funciòn "clock()" en el foro de C/C++ en Foros del Web. Saludos, agradeceria si alguien resolviera la siguiente duda sobre el uso de la funciòn "clock()". Leia que dividiendo el resultado de esta funciòn entre "CLOCKS_PER_SEC" ...
  #1 (permalink)  
Antiguo 15/11/2008, 15:43
 
Fecha de Ingreso: julio-2008
Mensajes: 18
Antigüedad: 15 años, 9 meses
Puntos: 0
Segundos con funciòn "clock()"

Saludos, agradeceria si alguien resolviera la siguiente duda sobre el uso de la funciòn "clock()".

Leia que dividiendo el resultado de esta funciòn entre "CLOCKS_PER_SEC" es posible convertir este resultado en segundos.

Por ello, decidi utilizarlo en un ejercicio, que trata sobre publicar en pantalla 11 letras por unos segundos y despues pide al usuario ingresar estas letras en el mismo orden y en una misma cantidad de tiempo.

Tengo el siguiente codigo terminado:

Cita:
#include<time.h>
#include <iostream>
#include <windows.h>
using namespace std;

int PuntoMen(int &c, int &e){
c = c -1 ;
if(c==0){ system("cls");
cout<<"SIN VIDAS-FIN DEL JUEGO "<<endl;
cout<<endl;
cout<<"Resultado Final------> "<<endl;
cout<<endl;
cout<<"Aciertos: "<<e<<endl;
cout<<endl;
exit(0);

}
else cout<<"Una vida menos: ";
return c;
};

int PuntoMas(int &e){
cout<<"Correcto"<<endl;
e = e + 1;

if(e==11){
cout<<"***********FELICIDADES PUNTAJE PERFECTO************"<<endl;
}
else return e;
};

int SinTiempo(int &c, int &e){
system("cls");
cout<<endl;
cout<<"SE HA TERMINADO EL TIEMPO: "<<endl;
cout<<endl;
cout<<"Resultado Final------> "<<endl;
cout<<endl;
cout<<"Aciertos: "<<e<<endl;
cout<<endl;
exit(0);
};


int main(){

cout<<"******************************************* ************************************"<<endl;

cout<<" JUEGO QUE MUESTRA EN PANTALLA 11 LETRAS Y PIDE QUE SEAN INGRESADAS DE MEMORIA"<<endl;
cout<<" EN EL MISMO ORDEN "<<endl;
cout<<"******************************************* ************************************"<<endl;


char z[11];
char a[11];
char l;
char t;
int s = 5;
int p = 0;

srand(time(NULL));
for(int i = 0; i < 11; i++){
a ='a' + rand() % (('k' - 'a') + 1);
}

cout<<endl;
cout<<"TIENE 5 VIDAS PARA JUGAR"<<endl;
Sleep(8000);
cout<<endl;

for(i=0; i<11; i++){

cout<<" "<< a<<endl;
Sleep(100);
};
system("cls");

cout<<"Introduzca las letras vistas en pantalla: ";

clock_t comienzo;
comienzo=clock();
for(i=0; i<11; i++){
cin>>z;
int h = (clock()-comienzo/CLOCKS_PER_SEC );

t=z;
l= a;
if(h<20000)
if(l==t)
PuntoMas(p);
else cout<<PuntoMen(s,p)<<endl;
else cout<<SinTiempo(s,p)<<endl;
}}

"Corre" correctamente, sin embargo, al usar la funciòn "clock()" para limitar el tiempo (if(h<20000)) que el usuario tendra para ingresar las letras, no se cuanto tiempo es "20000", que por cierto, solamente lo he colocado para efectos de pruebas y que segùn la experiencia, al correr el codigo, solamente son unos pocos segundos.

Podria alguien explicar como hacer el calculo para determinar como realizar la conversion del resultado de "clock()" a segundos.

Gracias por la ayuda.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:25.