Question Code::Blocks

@J! Messages postés 25 Statut Membre -  
Hell_Keeper Messages postés 144 Statut Membre -
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

Hell_Keeper Messages postés 144 Statut Membre 36
 
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!
0
@J! Messages postés 25 Statut Membre
 
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 ...
0
Hell_Keeper Messages postés 144 Statut Membre 36
 
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]
0
Hell_Keeper Messages postés 144 Statut Membre 36
 
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 ;)
0
Teral42
 
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
0
Hell_Keeper Messages postés 144 Statut Membre 36
 
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
0
@J! Messages postés 25 Statut Membre
 
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 ...)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Hell_Keeper Messages postés 144 Statut Membre 36
 
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 ;)
0
Hell_Keeper Messages postés 144 Statut Membre 36
 
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.
0
Teral42
 
Desolé hell_keeper, je parlais du shell, de toute façon unistd.h ne sert à rien ici vu qu'il tourne sous win$ ...
0
Hell_Keeper Messages postés 144 Statut Membre 36
 
Je suis tout à fait d'accord :)
0