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;
}}
#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.