IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Dev-C++ Discussion :

Gestion du temps avec dev-cpp 4.9.9.2


Sujet :

Dev-C++

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2006
    Messages : 63
    Par défaut Gestion du temps avec dev-cpp 4.9.9.2
    Bonjour tlm,

    J'ai écrit un jeu de dames qui fonctionne sous unix avec une classe "givtimer" pour gérer le temps, qui utilise :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    # include <sys/time.h>
    # include <sys/resource.h>
    Or dev-cpp ne connait pas sys/resource.h :-/

    Que puis-je utiliser pour une gestion simple du temps (il suffit de pouvoir stopper l'algorithme au bout de n secondes m centièmes, ou même simplement de mesurer le temps dans l'algorithme, ça me suffirait) ?

    Merci d'avance,
    Benjamin.

  2. #2
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Bin #include <time.h>
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2006
    Messages : 63
    Par défaut
    J'avoue que je ne comprend pas grand chose à ce header :-(

    D'après ce que j'y lis ça ne gère que les secondes; comment puis-je faire, disons pour effectuer "for (int i=0; ; i++) { blabla }" jusqu'à ce que 2 secondes se soient écoulées? Dans la version sur unix j'utilisais une fonction du Timer qui retournait le "realtime", ici je ne vois pas de telle fonction :-/

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2006
    Messages : 63
    Par défaut
    J'ai essayé ce qui suit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
     
    #include "time.h"
     
    // initialisation
    time_t tim=clock();
     
    // bla bla bla (alpha-beta..etc)
     
    // arret eventuel
    time_t check=clock();
    if (difftime(check,tim)>=temps) return 0;
    Problème: "difftime(check,tim)" vaut d'abord 0, puis 15, puis d'autres valeurs entieres "discontinues" (genre 567-3456-23987..etc). Comment utiliser cette classe?!

  5. #5
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Si difftime prends bien en paramètre des time_t, il n'en est pas de même pour clock() qui retourne un clock_t.
    Il faut utiliser la fonction time().

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2006
    Messages : 63
    Par défaut
    J'ai essayé "time_t tim=time(&tim);", puis plus loin je crée un autre time_t de la meme façons puis j'appelle difftime(tim,check), et ça me donne qqch comme 1.976*10^9 :-/

    J'ai eu l'idée de se souvenir de la première valeur de tim, puis de comparer la valeur courante à la première valeur, mais j'obtiens tojukours 0 dans ce cas.

  7. #7
    Alp
    Alp est déconnecté
    Expert confirmé

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Par défaut
    boost.date_time est pas mal ...
    http://www.boost.org/doc/html/date_time.html

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Février 2006
    Messages : 63
    Par défaut
    Ca marche bien avec boost/timer.h en effet :-)

    Merci!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Problème avec Dev-Cpp 4.9.9.0
    Par P4Pi dans le forum Dev-C++
    Réponses: 7
    Dernier message: 16/01/2010, 16h48
  2. erreur avec dev cpp
    Par rimbaut dans le forum Code::Blocks
    Réponses: 3
    Dernier message: 25/02/2006, 16h21
  3. Compiler dll avec Dev-Cpp
    Par madislak dans le forum Dev-C++
    Réponses: 2
    Dernier message: 15/02/2006, 18h06
  4. [DEB]Probleme de compil avec Dev-Cpp
    Par Marc_3 dans le forum Dev-C++
    Réponses: 3
    Dernier message: 31/01/2006, 22h27
  5. Réponses: 4
    Dernier message: 20/10/2005, 14h58

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo