Historique des modifications - Message

Message #7860

Sujet: Gestion tu temps, créez votre propre "library"


Type Date Auteur Contenu
Création du message 03-02-2010 07:01:19 nico
salut, j'ai viré mon précédant post qui racontait n'importe quoi wink et je vous propose un nouvel essai à critiquer.

Code c++ :

#ifndef CTIMER_LOADED
#define CTIMER_LOADED

#include <ctime> // pour clock()
#include <windows.h> // pour Sleep()

#define tempsActuel clock()
enum Temps {Ms = 1, Sc = 1000};

class CTimer
{
public:
CTimer(int Interval);

void pausePendantInterval(); //endort le programme jusqu'a ce que l'interval soit dépassé
void pauseDurant(int Interval)const; // endort le programme pendant le temps t_intrerval
void raz(); //remise a zero du temps passé

bool delaiEcoule(); //renvoie "true" si l'interval temps est depassé
int recupTempsEcoule(Temps Format=Ms)const; // renvoie les temps passé en ms depuis la derniere mise a jour
int recupTempsRestant(Temps Format=Ms)const; //renvoie le temps restant en seconde

int interval; //gestion de l'interval Temps en millisecondes

private:
clock_t tempsDeDepart; //enregistre le temps a l'instant T

};
#endif



Code c++ :

using namespace std;

CTimer::CTimer(int Interval)
{
interval = Interval;
tempsDeDepart = tempsActuel;
}

///***********************************************************************

int CTimer::recupTempsEcoule(Temps Format)const
{
return (tempsActuel - tempsDeDepart)/Format ;
}

///***********************************************************************

int CTimer::recupTempsRestant(Temps Format)const
{
return (interval - recupTempsEcoule())/Format ;
}

///***********************************************************************

bool CTimer::delaiEcoule()
{
if(tempsActuel - tempsDeDepart > interval)
{
tempsDeDepart = tempsActuel;
return true;
}
else return false;
}

///***********************************************************************

void CTimer::raz()
{
tempsDeDepart = tempsActuel;
}

///***********************************************************************

void CTimer::pausePendantInterval()
{
if(!delaiEcoule())
{
Sleep(interval - recupTempsEcoule());
tempsDeDepart = tempsActuel;
}
}

///***********************************************************************

void CTimer::pauseDurant(int Interval)const
{
Sleep(interval);
}



Code c++ :

#include <iostream>

int main()
{
CTimer monTimer(5000); //un interval de 5 secondes

while(!monTimer.delaiEcoule())
cout << "exemple chronomètre : " << monTimer.recupTempsEcoule() << endl;

monTimer.interval=5000;

while(!monTimer.delaiEcoule())
cout << "exemple compte a rebours : " << monTimer.recupTempsRestant() << endl;

return 0;
}

Retour

Options Liens officiels Caractéristiques Statistiques Communauté
Préférences cookies
Corrections
irrlicht
irrklang
irredit
irrxml
Propulsé par Django
xhtml 1.0
css 2.1
884 membres
1440 sujets
11337 messages
Dernier membre inscrit: Saidov17
104 invités en ligne
membre en ligne: -
RSS Feed