Partage
  • Partager sur Facebook
  • Partager sur Twitter

Chronometre

    19 décembre 2005 à 20:49:39

    Salut!

    Après de nombreux test, je n'arrive deseperement pas a trouver le bon code pour faire une sorte de chronometre qui s'arette des qu'on appuie sur une touche!

    Si quelqu'un pourrait m'aider :-°
    • Partager sur Facebook
    • Partager sur Twitter
      20 décembre 2005 à 20:49:50

      J'ai une solution qui utilise l'API Windows mais il faut que ton programme utilise une fenêtre.
      • Partager sur Facebook
      • Partager sur Twitter
        20 décembre 2005 à 22:08:32

        J'ai trouver le code mais j'ai un probleme:

              #include <stdlib.h> //system("Pause&quot;) - system("cls&quot;)
              #include <stdio.h> //printf()
              #include <windows.h> //Sleep()
             
            void main()
               {
                   int h = 0 , m = 0 , s = 0; //Initialisation des variables
             
                 
                   
           
                   while (h < 24)
                   {
                   if (h < 10)
                   {
                   printf("0%i : ",h); //Affichage avec 0 devant
                   }else{
                   printf("%i : ",h); //Sans le 0 si > 10
                   }
                   if (m < 10)
                   {
                   printf("0%i : ",m);
                   }else{
                   printf("%i : ",m);
                   }
                   if (s < 10)
                   {
                   printf("0%i",s);
                   }else{
                   printf("%i",s);
                   }
                   s++; //Incrémentation des secondes
                   Sleep(1000); //Attente de 1000 mili-secondes
                   system("cls"); //Effacer l'ecran
                   
                   
           
                   if (s > 59)
                   {
                       s = 0;
                       m++;
                   }
                   
                   if (m > 59)
                   {
                       m = 0;
                       h++;
                       
                       
                       
                       }
                      }
                     }



        Mon probleme est que je n'arrive pas a trouver le code qui stope le chronometre et qui dit:
        vous avez mis X minutes. souhitez vous recommencer?

        :euh:
        • Partager sur Facebook
        • Partager sur Twitter
          20 décembre 2005 à 22:10:33

          desolé je connais pas la réponse mais ce que tu as fait la(void et la librairie en haut) ils sont pas encore dans les cours? j'ai rien loupé j'espère :euh:
          • Partager sur Facebook
          • Partager sur Twitter
            21 décembre 2005 à 15:39:19

            J'ai un code qui fait un chronomètre mais je suis pas sûr que tu le comprenne...

            #include <cstdlib>
            #include <iostream>
            #include <windows.h>

            using namespace std;

            LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM);

            char szClassName[ ] = "WindowsApp";
            long
            seconde = 0;

            int main(int argc, char *argv[])
            {
                HWND hwnd;             
                MSG messages;         
                WNDCLASSEX wincl;     


                wincl.hInstance = 0;
                wincl.lpszClassName = szClassName;
                wincl.lpfnWndProc = WindowProcedure;     
                wincl.style = CS_DBLCLKS;             
                wincl.cbSize = sizeof (WNDCLASSEX);

                wincl.hIcon = LoadIcon (NULL, IDI_APPLICATION);
                wincl.hIconSm = LoadIcon (NULL, IDI_APPLICATION);
                wincl.hCursor = LoadCursor (NULL, IDC_ARROW);
                wincl.lpszMenuName = NULL;       
                wincl.cbClsExtra = 0;                 
                wincl.cbWndExtra = 0;       

                wincl.hbrBackground = (HBRUSH) COLOR_BACKGROUND;

                if (!RegisterClassEx (&wincl))
                    return 0;

                hwnd = CreateWindowEx (
                       0,                   
                       szClassName,       
                       "Chronometre",     
                       WS_OVERLAPPEDWINDOW,
                       CW_USEDEFAULT,     
                       CW_USEDEFAULT,     
                       100,               
                       25,               
                       HWND_DESKTOP,     
                       NULL,               
                       0,     
                       NULL         
                       );


                ShowWindow (hwnd, 1);

                SetTimer(hwnd,666,10,NULL);


                while (GetMessage (&messages, NULL, 0, 0))
                {

                    TranslateMessage(&messages);

                    DispatchMessage(&messages);
                }

             
                return messages.wParam;
            }



            LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
            {
                switch (message)     
                {
                    case WM_TIMER:
                         seconde++;         
                         break;
                    case WM_KEYDOWN:
                         ShowWindow (hwnd, 0);
                         KillTimer(hwnd,666);
                         printf("%lf secondes !\n", ((double)seconde / 100));
                         system("PAUSE");
                         PostQuitMessage (0)
                         break;
                    case WM_DESTROY:
                        PostQuitMessage (0)
                        break;
                    default:           
                        return DefWindowProc (hwnd, message, wParam, lParam);
                }

                return 0;
            }
            • Partager sur Facebook
            • Partager sur Twitter
              21 décembre 2005 à 21:08:27

              ça ne marche pas :o
              tu as du faire une erreur dans le code
              • Partager sur Facebook
              • Partager sur Twitter
                21 décembre 2005 à 21:21:34

                Le code est bon : pour arrêter le chronomètre, il faut que tu séléctionne la fenêtre qui apparaît et que tu appuies sur une touche.
                Essaie de faire des modifications sur le code pour voir comment ça fonctionne.
                • Partager sur Facebook
                • Partager sur Twitter

                Chronometre

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown