Partage
  • Partager sur Facebook
  • Partager sur Twitter

Une pause dans le programme ?

    11 décembre 2005 à 10:56:28

    Bonjour,

    Je tente de faire une pause de une ou deux secondes dans un petit programme sous dos, comment faire ? Il s'agirais d'une pause ou le programme reprendrais tout seul donc pas :
    system("PAUSE");


    Voila si c'est possible merci.
    • Partager sur Facebook
    • Partager sur Twitter
      11 décembre 2005 à 11:48:53

      Il me semble qu'il existe une fonction appelée sleep()
      Elle prend un nombre de millisecondes ou microsecondes je ne sais plus bien exactement.

      Tente sleep(2000);
      Si ça va toujours trop vite augmente ce nombre.
      • Partager sur Facebook
      • Partager sur Twitter

      If you'd like to join us, read "How do we work at OpenClassrooms"! :)

        11 décembre 2005 à 11:59:20

        Sinon, j'ai trouver ce petit exemple sur le net qui devrait correspondre, c'est un compte a rebour :

        /* clock example: countdown */
        #include <stdio.h>
        #include <time.h>

        void wait ( int seconds )
        {
          clock_t endwait;
          endwait = clock () + seconds * CLK_TCK ;
          while (clock() < endwait) {}
        }

        int main ()
        {
          int n;
          printf ("Starting countdown...\n");
          for (n=10; n>0; n--)
          {
            printf ("%d\n",n);
            wait (1);
          }
          printf ("FIRE!!!\n");
          return 0;
        }
        • Partager sur Facebook
        • Partager sur Twitter
          11 décembre 2005 à 12:04:21

          c'est bof ton exemple, les fonction sleep servent à ca (là c'est de la bidouille avec l'horloge processeur, beuw).

          Va voir la doc de time.h pour plus d'exemples.

          Surtout n'utilise pas la fonction system() : ce n'est pas une solution portable.
          • Partager sur Facebook
          • Partager sur Twitter
            11 décembre 2005 à 12:08:25


            // Très important sinon la fonction Sleep() ne marchera pas!
            #include <windows.h>

            Sleep(2000); // En ms. Ne pas oublier la majuscule.


            Testé et approuvé ;)
            • Partager sur Facebook
            • Partager sur Twitter
              11 décembre 2005 à 12:11:05

              Sleep marche bien merci.

              Y'aurais t-il une methode pour que les mots s'affichent lettres après lettres.
              Pour faire ca en moins bourrin :

              printf ("p"); sleep(temps);
              printf ("o"); sleep(temps);
              printf ("m"); sleep(temps);
              printf ("m"); sleep(temps);
              printf ("e"); sleep(temps);


              Non ?
              • Partager sur Facebook
              • Partager sur Twitter
                11 décembre 2005 à 12:22:02

                Citation : bluestorm

                c'est bof ton exemple, les fonction sleep servent à ca (là c'est de la bidouille avec l'horloge processeur, beuw).

                Va voir la doc de time.h pour plus d'exemples.

                Surtout n'utilise pas la fonction system() : ce n'est pas une solution portable.


                ben j'ai trouver cet exemple dans la doc, en cherchant dans les fonctions de time.h : ici

                sleep() vient de window.h qui n'est pas standard, jai donc suposé que l'autre méthode était plus "portable". Enfin je ne suis pas un expert (tu me corrige si je dit une connerie hein :euh: ), et puis c'est vrai que sleep() est quand même plus commode. :)

                Chriss >
                un mot est une cahine de carractaire, un tableau, (le dernier carractaire est "\0") il sufit donc de faire une boucle qui affiche les carractaires de de tableau...
                • Partager sur Facebook
                • Partager sur Twitter
                  11 décembre 2005 à 12:29:51

                  Pourrais tu me faire une exemple, j'ai pas trop compris sur le coups la. :o
                  • Partager sur Facebook
                  • Partager sur Twitter
                    11 décembre 2005 à 12:38:39

                    Sleep() c'est Windows, sleep() c'est POSIX
                    • Partager sur Facebook
                    • Partager sur Twitter
                      11 décembre 2005 à 13:46:12

                      et comment on peu faire si on veut que :
                      -il y ai un compte à rebours.

                      -mais que l'on puisse utiliser un scanf entre l'affichage de chaque chifre du compte à rebours sans pour autant altérer le compte à rebours.

                      une idée?
                      • Partager sur Facebook
                      • Partager sur Twitter
                        11 décembre 2005 à 13:49:26

                        Soit vous prenez votre console pour une console classique et dans ce cas là; pas de manip farfelue genre réécrire sur ce que vous avez déjà écrit.
                        Soit vous considérez que vous avez une console "graphique" et vous utilisez une autre lib genre curses.
                        • Partager sur Facebook
                        • Partager sur Twitter
                          11 décembre 2005 à 13:58:18

                          tu peux le redire en français ? :p
                          • Partager sur Facebook
                          • Partager sur Twitter
                            11 décembre 2005 à 13:59:17

                            Par défaut la console du C purement standard, sans aucune bibliothèque ajoutée ne permet que d'afficher des caractères qui se suivent et c'est tout.
                            • Partager sur Facebook
                            • Partager sur Twitter
                              11 décembre 2005 à 14:25:07

                              le petit exemple (enfin j'espère qu'il est correct) :

                              #include <stdio.h>
                              #include <stdlib.h>
                              #include <windows.h>

                              int main(void)
                              {
                                  char mot[8];
                                  strcpy(mot,"bonjour");
                                  int i;
                                  for (i=0; i<=7; i++)
                                  {
                                      printf("%c", mot[i]);
                                      Sleep(300);
                                  }
                                  system("PAUSE");
                                  return 0;
                              }

                              • Partager sur Facebook
                              • Partager sur Twitter
                                11 décembre 2005 à 15:55:38

                                Merci y'a t-il une fonction qui compte le nombre de caractaire qu'il ya dans une variable ?
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  11 décembre 2005 à 16:00:37

                                  Salut !

                                  je crois qu'il y a strlen() de la librairie strings.h mais je suis pas sur !
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    11 décembre 2005 à 16:29:25

                                    oui, la fonction strlen compte le nombre de caractères dans un chaines de caractères (sans le 0 final).
                                    il faut inclure string.h (et pas strings.h).
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      11 décembre 2005 à 17:03:54

                                      Sinon, il te faut faire un while, sachant que le dernier carractaire est '\0'
                                      • Partager sur Facebook
                                      • Partager sur Twitter

                                      Une pause dans le programme ?

                                      × 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