Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1406 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  Comment faire pour que la fenetre dos ne se ferme pas

 


 Mot :   Pseudo :  
 
 Page :   1  2
Page Précédente
Auteur Sujet :

Comment faire pour que la fenetre dos ne se ferme pas

n°266707
forummp3
@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@
Posté le 10-12-2002 à 21:46:21  profilanswer
 

Je fais un programme en c,je le compile avec dev c++ et je l'execute,mais le probleme c'est que quand je l'execute,il se ferme tout seul a la fin et je n'ai pas le temps de voir le printf.
Mon code est le suivant:
 

Citation :

#include<stdio.h>
int num;
void main()
{
printf("entre un num: \n" );
scanf("%i",&num);
printf("ton num est %i\n",num);
 
}


 
Comme je doit faire pour pas que la fenetre se ferme?

mood
Publicité
Posté le 10-12-2002 à 21:46:21  profilanswer
 

n°266710
antp
Super Administrateur
Champion des excuses bidons
Posté le 10-12-2002 à 21:48:03  profilanswer
 

système bourrin :  

system("pause" );


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°266713
forummp3
@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@
Posté le 10-12-2002 à 21:51:11  profilanswer
 

antp a écrit :

système bourrin :  

system("pause" );




 
je l'ai mis apres le printf et ca marche pas :/

n°266714
forummp3
@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@
Posté le 10-12-2002 à 21:52:28  profilanswer
 

ca me fait une erreur de compilation

n°266715
antp
Super Administrateur
Champion des excuses bidons
Posté le 10-12-2002 à 21:56:18  profilanswer
 

tu peux faire un getchar();


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°266716
Loizo
Posté le 10-12-2002 à 21:57:21  profilanswer
 

C'est pas getchar()
 
Tu le met a la fin de ton prog et je crois qu'a la fin il faut faire un retour chariot pour fermer la fenetre... Je ne suis pas sur je n'ai jamais fait de C mais comme en pascal c writeln je crois qu'avec le C ca marche.

n°266718
Loizo
Posté le 10-12-2002 à 21:57:31  profilanswer
 

Oups grilled :D

n°266720
forummp3
@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@
Posté le 10-12-2002 à 22:02:21  profilanswer
 

j'ai fait ca et ca ne marche pas

Citation :

#include<stdio.h>
int num;
void main()
{
printf("entre un num: \n" );
scanf("%i",&num);
printf("ton num est %i",num);
getchar();
}
 


n°266722
antp
Super Administrateur
Champion des excuses bidons
Posté le 10-12-2002 à 22:04:22  profilanswer
 

"ça marche pas"
c'est à dire ?
essaie un fflush(stdin); avant le getchar, au cas où des caractères resteraient dans le buffer...


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°266724
Taz@PPC
saloperie de i=`expr $i + 1`;
Posté le 10-12-2002 à 22:07:00  profilanswer
 

#include <stdlib.h> pour system
 
 
et si tu fais des executables en mode texte DOS, lance les dans une console DOS  :whistle:


---------------
du bon usage de rand [C] / [C++]
mood
Publicité
Posté le 10-12-2002 à 22:07:00  profilanswer
 

n°266725
forummp3
@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@
Posté le 10-12-2002 à 22:07:44  profilanswer
 

antp a écrit :

"ça marche pas"
c'est à dire ?
essaie un fflush(stdin); avant le getchar, au cas où des caractères resteraient dans le buffer...


 
ca marche comme ca :)

n°266727
forummp3
@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@
Posté le 10-12-2002 à 22:08:23  profilanswer
 

et ca sert a koi alors ca:
 

Citation :

fflush(stdin);  
getchar();

n°266729
Taz@PPC
saloperie de i=`expr $i + 1`;
Posté le 10-12-2002 à 22:10:25  profilanswer
 

forummp3 a écrit :

et ca sert a koi alors ca:
 

Citation :

fflush(stdin);  
getchar();



ca sert à rien.
 
fflush(outstream) permetde flusher un flux de sortie, c'est à dire de vider son buffer, c'est à dire de terminer toutes les opérations d'écritures en attente de réallisation. ca n'a aucun sens sur un flux d'entrée.
 
getchar() permet de lire un caractere


---------------
du bon usage de rand [C] / [C++]
n°266737
antp
Super Administrateur
Champion des excuses bidons
Posté le 10-12-2002 à 22:29:36  profilanswer
 

Taz@PPC a écrit :

ca n'a aucun sens sur un flux d'entrée.


 
:heink: bhen si, ça vire ce qui est dans le buffer d'entrée
genre l'utilisateur appuie comme un boolay sur des touches pendant que ton soft fait des calculs, puis tu lui mets le message "appuyez sur une touche pour quitter", si tu vides pas le buffer en entrée bhen ça quittera direct...


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°266738
Taz@PPC
saloperie de i=`expr $i + 1`;
Posté le 10-12-2002 à 22:31:12  profilanswer
 

antp a écrit :


 
:heink: bhen si, ça vire ce qui est dans le buffer d'entrée
genre l'utilisateur appuie comme un boolay sur des touches pendant que ton soft fait des calculs, puis tu lui mets le message "appuyez sur une touche pour quitter", si tu vides pas le buffer en entrée bhen ça quittera direct...

:non: . me demande pas de te citer le K&R s'il teu plé, chui crevé  :sleep:


---------------
du bon usage de rand [C] / [C++]
n°266739
antp
Super Administrateur
Champion des excuses bidons
Posté le 10-12-2002 à 22:32:32  profilanswer
 

bah oui mais comment t'expliques que ça marche alors :heink:


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°266741
forummp3
@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@
Posté le 10-12-2002 à 22:33:30  profilanswer
 

Taz@PPC a écrit :

:non: . me demande pas de te citer le K&R s'il teu plé, chui crevé  :sleep:  


 
quand je l'enleve la fenetre se ferme et quand je le laisse ce n'est pas le cas.

n°266742
forummp3
@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@
Posté le 10-12-2002 à 22:34:08  profilanswer
 

antp a écrit :

bah oui mais comment t'expliques que ça marche alors :heink:


 
je confirme ca marche :)

n°266743
Taz@PPC
saloperie de i=`expr $i + 1`;
Posté le 10-12-2002 à 22:35:05  profilanswer
 

c'est le getchar qui fait effet et pas fflush. si effectivement le buffer de stdin est plein, alors le getchar final est sauté (c'est à dire t'as tapé trop / pas tout lu lors de ta derniere entrée)


---------------
du bon usage de rand [C] / [C++]
n°266744
Taz@PPC
saloperie de i=`expr $i + 1`;
Posté le 10-12-2002 à 22:36:30  profilanswer
 

forummp3 a écrit :


 
je confirme ca marche :)

c'est un comportement indéfini: ca peut marcher et pas marcher. :non:


---------------
du bon usage de rand [C] / [C++]
n°266745
forummp3
@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@
Posté le 10-12-2002 à 22:36:56  profilanswer
 

Taz@PPC a écrit :

c'est le getchar qui fait effet et pas fflush. si effectivement le buffer de stdin est plein, alors le getchar final est sauté (c'est à dire t'as tapé trop / pas tout lu lors de ta derniere entrée)


 
j'suis debutant et g pas tout compris dans ce que tu as dit  :whistle:

n°266748
Taz@PPC
saloperie de i=`expr $i + 1`;
Posté le 10-12-2002 à 22:40:15  profilanswer
 

si tu as tres bien compirs: lance ton exe dans une fenetre DOS!
 
 
l'entrée standard est muni d'un buffer: quand tu tapes un truc, ca passe par ce buffer et ton processus lis dans ce buffer. si tu tapes plus que ton processus de vas lire: à la fin de lecture de ton processus, il reste des caractères non-encore lus dans le buffer


---------------
du bon usage de rand [C] / [C++]
n°266750
forummp3
@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@
Posté le 10-12-2002 à 22:41:57  profilanswer
 

Taz@PPC a écrit :

si tu as tres bien compirs: lance ton exe dans une fenetre DOS!
 
 
l'entrée standard est muni d'un buffer: quand tu tapes un truc, ca passe par ce buffer et ton processus lis dans ce buffer. si tu tapes plus que ton processus de vas lire: à la fin de lecture de ton processus, il reste des caractères non-encore lus dans le buffer


 
ha ok,mais a chaque fois je ne tape qu'une seul fois et la fenetre ce ferme quand meme.

n°266759
Taz@PPC
saloperie de i=`expr $i + 1`;
Posté le 10-12-2002 à 22:54:09  profilanswer
 

parce qu'il reste un \n dans ton buffer. fais scanf("%f\n" ) par exempleou alors fait un while(getchar()!=EOF);


---------------
du bon usage de rand [C] / [C++]
n°266764
forummp3
@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@
Posté le 10-12-2002 à 23:00:07  profilanswer
 

j'ai refait un autre code et si on enleve une des deux ligne que vous m'avez donner he bien ca se ferme quand meme:
 

Citation :

#include<stdio.h>
char num[20];
void main()
{
printf("entre un prenom: \n" );
scanf("%s",&num);
printf("ton prenom est %s",num);
fflush(stdin);  
getchar();

}
 

n°266769
Taz@PPC
saloperie de i=`expr $i + 1`;
Posté le 10-12-2002 à 23:04:37  profilanswer
 

1) ces deux lignes sont fausses.
2) ton programme ne marche pas car il plante: c'est scanf("%s", nom);
 
et si tu veux vraiment pas lancer ton programme dans une console DOS, mets un system("PAUSE" ); à la fin et c'est tout !!!!


Message édité par Taz@PPC le 10-12-2002 à 23:06:15

---------------
du bon usage de rand [C] / [C++]
n°266772
antp
Super Administrateur
Champion des excuses bidons
Posté le 10-12-2002 à 23:06:28  profilanswer
 

Taz@PPC a écrit :


l'entrée standard est muni d'un buffer: quand tu tapes un truc, ca passe par ce buffer et ton processus lis dans ce buffer. si tu tapes plus que ton processus de vas lire: à la fin de lecture de ton processus, il reste des caractères non-encore lus dans le buffer


 
et le fflush ne permet pas de vider ce buffer ? :heink:


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°266775
Taz@PPC
saloperie de i=`expr $i + 1`;
Posté le 10-12-2002 à 23:07:44  profilanswer
 

antp a écrit :


 
et le fflush ne permet pas de vider ce buffer ? :heink:

sur un flux d'entrée, ca n'a sémantiquement pas de sens et c'est indéfini en C


---------------
du bon usage de rand [C] / [C++]
n°266777
antp
Super Administrateur
Champion des excuses bidons
Posté le 10-12-2002 à 23:09:27  profilanswer
 

bah je ne demande qu'à te croire mais bon j'ai jamais rien vu qui disait ça [:mlc]
 
et je n'avais encore vu personne que fflush(stdin) choquait...


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°266779
forummp3
@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@
Posté le 10-12-2002 à 23:11:12  profilanswer
 

Taz@PPC a écrit :

1) ces deux lignes sont fausses.
2) ton programme ne marche pas car il plante: c'est scanf("%s", nom);
 
et si tu veux vraiment pas lancer ton programme dans une console DOS, mets un system("PAUSE" ); à la fin et c'est tout !!!!


 
il plante pas puisque j'ai mis num partout et non nom
c pas tres logiques mais j'ai fait que reprendre l'ancien code.

n°266783
Taz@PPC
saloperie de i=`expr $i + 1`;
Posté le 10-12-2002 à 23:12:16  profilanswer
 

rhaaaaaaaaaaaaaaaaa. depuis quand tu fais du C :sarcastic:  
 
 
K&R p.246 annexe B1.1
 

int fflush(FILE *stream)
Sur un flot de sortie, fflush provoque l'écriture des données mises en mémoire tampon; sur un flot d'entrée, son effet est indéfini. Elle retourne EOF pour une erreur d'écriture, zéro sinon.


---------------
du bon usage de rand [C] / [C++]
n°266784
antp
Super Administrateur
Champion des excuses bidons
Posté le 10-12-2002 à 23:12:24  profilanswer
 

forummp3 a écrit :


 
il plante pas puisque j'ai mis num partout et non nom
c pas tres logiques mais j'ai fait que reprendre l'ancien code.


 
il voulait dire que tu devais pas mettre le "&" devant la variable si c'est une chaîne que tu lis, vu qu'une chaîne (tableau de caractères) est déjà un pointeur.


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°266785
antp
Super Administrateur
Champion des excuses bidons
Posté le 10-12-2002 à 23:13:19  profilanswer
 

Taz@PPC a écrit :

rhaaaaaaaaaaaaaaaaa. depuis quand tu fais du C :sarcastic:  
 


 
j'ai fait du C sur mainframe puis c'est tout :D chuis directement passé au C++ sur PC :D


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°266786
Taz@PPC
saloperie de i=`expr $i + 1`;
Posté le 10-12-2002 à 23:14:01  profilanswer
 

forummp3 a écrit :


 
il plante pas puisque j'ai mis num partout et non nom
c pas tres logiques mais j'ai fait que reprendre l'ancien code.

putain je te parle pas de ca bordel, le nom je m'en fou. achete toi un bouquin correct de C et fait scanf("%s", my_fucken_dummy_char_tab) et pas scanf("%s", &my_another_ucken_dummy_char_tab);


---------------
du bon usage de rand [C] / [C++]
n°266787
Taz@PPC
saloperie de i=`expr $i + 1`;
Posté le 10-12-2002 à 23:14:26  profilanswer
 

antp a écrit :


 
il voulait dire que tu devais pas mettre le "&" devant la variable si c'est une chaîne que tu lis, vu qu'une chaîne (tableau de caractères) est déjà un pointeur.

et un tableau n'est pas un pointeur


---------------
du bon usage de rand [C] / [C++]
n°266790
antp
Super Administrateur
Champion des excuses bidons
Posté le 10-12-2002 à 23:17:16  profilanswer
 

Taz@PPC a écrit :

et un tableau n'est pas un pointeur


 
je voulais dire que la variable "tableau" contient l'adresse du premier élément, comme un pointeur
 
non ?


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°266791
forummp3
@@@@@@@@@@@@@ @@@@@@@@@@@@@@@@
Posté le 10-12-2002 à 23:17:51  profilanswer
 

Taz@PPC a écrit :

putain je te parle pas de ca bordel, le nom je m'en fou. achete toi un bouquin correct de C et fait scanf("%s", my_fucken_dummy_char_tab) et pas scanf("%s", &my_another_ucken_dummy_char_tab);


 
avec ou sans le & ca plante pas  :??:

n°266793
Taz@PPC
saloperie de i=`expr $i + 1`;
Posté le 10-12-2002 à 23:18:22  profilanswer
 

antp a écrit :


 
je voulais dire que la variable "tableau" contient l'adresse du premier élément, comme un pointeur
 
non ?

c'est ça, rattrape toi aux branches. effectivement


---------------
du bon usage de rand [C] / [C++]
n°266794
Taz@PPC
saloperie de i=`expr $i + 1`;
Posté le 10-12-2002 à 23:19:20  profilanswer
 

forummp3 a écrit :


 
avec ou sans le & ca plante pas  :??:  

note pour plus tard: offrir un livre de francais pour noel a forummp3


---------------
du bon usage de rand [C] / [C++]
n°266795
antp
Super Administrateur
Champion des excuses bidons
Posté le 10-12-2002 à 23:19:54  profilanswer
 

Taz@PPC a écrit :

c'est ça, rattrape toi aux branches. effectivement


 
bhen c'est pareil :heink:  
char tableau[10] et char *tableau, dans les deux cas tableau contient une adresse mémoire, non :??:...  
enfin moi c'est ce que j'appelle "pointeur", désolé d'avoir de t'avoir heurté en utilisant le mauvais terme :sarcastic:


Message édité par antp le 10-12-2002 à 23:20:35

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Précédente

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  Comment faire pour que la fenetre dos ne se ferme pas

 

Sujets relatifs
fenêtre POPUPJ'ai un pb de fenêtre avec mon formulaire d'envoie de mail
Tester l'existence d'une fenetre (popup) que je cree ?[MFC] Fenetre à geometrie variable
Pb avec ma Frame qui ne veux pas se mettre en premiere fenetrevoila mon probleme resize des fenetre en fct de la resol
Tuer la session quand on ferme la fenetre ?target="" d'une fenêtre à une autre [ - Job's Done - ]
[ JS ( sans doute ) ] Faire apparaitre une nvelle fenetreJS - fenetre qui s ouvre et qui se ferme quand on retire sa souris
Plus de sujets relatifs à : Comment faire pour que la fenetre dos ne se ferme pas


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR