Question Code::Blocks

Bonjour chère CCMeurs ,
Je vous écris car je suis novice (très très novice ^^)
j'aimerai savoir comment ouvrir une seconde console et aussi comment faire pour que les mots mettent un certain temps a s'afficher (ex :
3
(une seconde apres)
2
(une seconde apres)
1
(une seconde apres)
partez !

merci de vos futur réponses .
@J!

6 réponses

  1. Desolé hell_keeper, je parlais du shell, de toute façon unistd.h ne sert à rien ici vu qu'il tourne sous win$ ...
    1. Je suis tout à fait d'accord :)
  2. La solution que ta proposé Teral42 c'est d'écrire dans ton code system("cmd"); (code pour windows) cela t'ouvrira une fenetre (une console ) de la meme manière que tu ouvres une invite de commande msDos sinon la fonction popen je ne connais pas regarde la doc tu le net ;)
    1. Sinon l'occuper avec plusieurs processus lorsqu'on débute n'est vraiment pas évident. Je te conseil d'oublier le fait d'ouvrir plusieurs fenetre pour l'instant. Si tu veux apprendre les bases du C va faire un tour sur le tutoriel du site du zéro ;). Au passage voila du code qui fonctionne sous windows et qui fait ce que tu demande a part les multiples fenetre.

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

      void sleep(int nbSec){
      clock_t ref=time(NULL);
      while(time(NULL) < (ref+nbSec));

      }

      int main(int arc,char* argv[]){
      int i = 3;
      for(;i>0;i--){
      printf("%d\n",i);
      sleep(1);
      }
      printf("partez!\n");
      system("pause");
      return 0;
      }

      Je tiens a préciser que ma fonction sleep n'est pas la plus optimisé! (Car ton processeur va tourner a rien) mais je n'ai pas eu le temps de regarder comment on peut en C faire dormir le main thread.
  3. Sous Windows on utilise "pause".
    Sous Linux "sleep", par contre il faut utiliser la fonction "popen" en C pour utiliser "sleep"

    De plus hell_keeper tu as écrit "sleep(1);" et ça c'est du Perl
    Sous *Nux c'est "sleep 1"

    Pour la 2eme console, tu dois lançer la commande cmd

    Teral42
    1. Désolé de te contredire teral mais j'utilise la fonction sleep de <unistd.h> en C on écrit fonction(pram1,param2,...); je ne parle pas script bash la !

      http://www.linux-kheops.com/doc/man/manfr/man-html-0.9/man3/sleep.3.html
    2. ok mais faut le mettre ou le cmd ? (quand je dis très très novice ... Je sais marquer printf et c'est a peu pres tout ...)
  4. Si cela marque "hello world" c'est que tu as peu-être oublié de compiler ton programme. tu doit compiler le programme puis le lancer !

    Donc écrit "sleep(1000);" [comme tu programme sous windows]
    1. Je viens de tester mon code la fonction sleep n'existe pas :s je pourrai bien t'en écrire une mais elle sera peut-etre pas la plus efficace ;)
  5. oui j'écris en C mais je suis sous windows . pour la nouvelle console c juste faire apparaitre une autre console (ou plus) j'ai écrit ton code mais sa marque hello world ...
    1. tu écrit un code en C ? si c'est le cas tu peux faire cela sur linux ;) :

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

      int main(int arc,char* argv[]){
      int i = 3;
      for(;i>0;i--){
      printf("%d\n",i);
      sleep(1);
      }
      printf("partez!");
      return 0;
      }

      en ce qui concerne la nouvelle console je n'ai pas compris désolé!

      ps: si je me trompe pas sleep existe aussi pour windows mais prend en paramètre des millisecondes!