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

C Discussion :

fonction temps pour un quizz


Sujet :

C

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1
    Points : 1
    Points
    1
    Par défaut fonction temps pour un quizz
    Bonjour a tous,
    je suis novice en langage,
    Je suis en train de programmer un quiz en langage C, et j'ai besoin d'une fonction qui permet , à chaque question de mettre un timer de 30 secondes et au bout de ces 30 secondes, on passe a la question suivante si le joueur n'a pas valider de réponses.
    Pourriez vous m'aider car là, je suis un peu perdu.
    Je vous remercie d'avance.


    Stunt

  2. #2
    Membre Expert

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Points : 5 723
    Points
    5 723
    Par défaut
    Une solution sous Windows consisterait à lancer un timer ( voir google SetTimer)

    A chaque début de question on initialiserait une variable 'temps' à zéro. Chaque appel à la procédure timer engendrerait une incrémentation de cette variable.
    On comparerait cette variable temps avec une variable temps_maximum à chaque appel de la procédure timer.Au cas où la variable 'temps' > temps_maximum alors c'est que le temps est écoulé...

    Ce qui paraît bien compliqué

    On pourrait faire peut etre plus simple en armant un signal (plus portable)( fonction signal)

  3. #3
    Membre expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Points : 3 958
    Points
    3 958
    Par défaut
    Sous Windows:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    #include <windows.h>
    ...
    Sleep(30000);

  4. #4
    Membre Expert

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Points : 5 723
    Points
    5 723
    Par défaut
    Citation Envoyé par seriousme
    Sous Windows:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    #include <windows.h>
    ...
    Sleep(30000);

    Il faut quelqu'un qui se charge de la saisie de la réponse quand même

    Normalement avec un Sleep la suite du code n'est pas executé....

  5. #5
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Points : 11 625
    Points
    11 625
    Par défaut
    Citation Envoyé par hegros
    Une solution sous Windows consisterait à lancer un timer ( voir google SetTimer)

    A chaque début de question on initialiserait une variable 'temps' à zéro. Chaque appel à la procédure timer engendrerait une incrémentation de cette variable.
    On comparerait cette variable temps avec une variable temps_maximum à chaque appel de la procédure timer.Au cas où la variable 'temps' > temps_maximum alors c'est que le temps est écoulé...

    Ce qui paraît bien compliqué

    On pourrait faire peut etre plus simple en armant un signal (plus portable)( fonction signal)
    Quelque chose dans ce genre là : Faire une pause
    Dans ce cas ce n'est pas génant que l'attente soit active puisse qu'on attend la saisie de l'utilisateur.

  6. #6
    Membre expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Points : 3 958
    Points
    3 958
    Par défaut
    Pour "clock":
    La fonction clock() renvoie une approximation de la durée écoulée d'utilisation du processeur par le programme.
    Si le processeur est surchargé l'attente sera plus longue.
    Il vaudrait mieux se baser sur l'heure locale, non?

  7. #7
    Expert éminent sénior
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Points : 20 985
    Points
    20 985
    Par défaut
    Citation Envoyé par seriousme
    Pour "clock":

    Si le processeur est surchargé l'attente sera plus longue.
    Il vaudrait mieux se baser sur l'heure locale, non?
    Oui.

    http://emmanuel-delahaye.developpez.com/clib.htm
    Module TIM

  8. #8
    Membre expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Points : 3 958
    Points
    3 958
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    void sleep (int sec)
    {
      time_t start, end;
      end = start = time(NULL);
      while ((end=time(NULL) - start) < sec);
    }

  9. #9
    Membre expert
    Avatar de Pragmateek
    Homme Profil pro
    Formateur expert .Net/C#
    Inscrit en
    Mars 2006
    Messages
    2 635
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Formateur expert .Net/C#
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2006
    Messages : 2 635
    Points : 3 958
    Points
    3 958
    Par défaut
    Ou plus simple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    void sleep (int sec)
    {
      time_t start=time(NULL);
      while (difftime(time(NULL),start+sec));
    }
    Quoique il faut se méfier car "difftime" retourne un "double".

  10. #10
    Membre Expert

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Points : 5 723
    Points
    5 723
    Par défaut
    Qu'est-ce qui vous plaît pas avec Signal ?

  11. #11
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Points : 11 625
    Points
    11 625

Discussions similaires

  1. fonction select() pour gérer le temps pour un réseau
    Par albertopisto dans le forum Réseau
    Réponses: 6
    Dernier message: 25/07/2011, 18h27
  2. Réponses: 1
    Dernier message: 22/06/2011, 19h32
  3. Fonction php pour transformer un temps
    Par racegamers dans le forum Langage
    Réponses: 1
    Dernier message: 23/04/2008, 15h15
  4. Fonction/méthode pour obtenir l'IP de la machine
    Par sirex007 dans le forum Web & réseau
    Réponses: 3
    Dernier message: 10/04/2003, 14h36
  5. Réponses: 3
    Dernier message: 02/09/2002, 18h49

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