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

  FORUM HardWare.fr
  Programmation
  C++

  Comment faire une pause lors du lancement d'un programme??

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Comment faire une pause lors du lancement d'un programme??

n°1598900
sienda
Posté le 13-08-2007 à 12:19:13  profilanswer
 

Bonjour,
 
Je cherche à ce que l'on puisse interrompre le déroulement du programme en appuyant sur une touche. La fonction system("pause" ) ne convient pas étant donné que le programme s'arrête de toute façon une fois...  Là, le but pour moi et de stopper le programme sur demande... Est-ce que qqun aurait une idée??
 
Merci bcp d'avance...

mood
Publicité
Posté le 13-08-2007 à 12:19:13  profilanswer
 

n°1598903
_darkalt3_
Proctopathe
Posté le 13-08-2007 à 12:20:00  profilanswer
 

une recherche sur le forum ?
le sujet a déjà été abordé.


---------------
Töp of the plöp
n°1598911
sienda
Posté le 13-08-2007 à 12:30:32  profilanswer
 

je fais toujours une recherche :)  mais là j'ai touvé deux choses: system("pause" ) qui ne va pas dans mon cas, et mettre un scanf, mais cela n'a aucun effet...

n°1598913
LePhasme
Les Belges domineront le monde
Posté le 13-08-2007 à 12:32:11  profilanswer
 

C'est quoi le problème avec le scanf ?

n°1598914
sienda
Posté le 13-08-2007 à 12:35:33  profilanswer
 

J'ai fait un programme de test pour trouver la bonne fonction. dans le programme ci-dessous, le but serait que le programme fasse une pause dès que l'utilisateur appuie sur un chiffre quelconque. mais cela n'a aucun effet...
 
int main()
{
 int x=1;
 for (int i=1;i<=99999;i++)
  {
   int scanf (x);
   if (x==1)
   {
    cout<<i<<endl;
   }
   else
   {
    _getch();
    x=1;
   }
  }
}

n°1598920
_darkalt3_
Proctopathe
Posté le 13-08-2007 à 13:00:51  profilanswer
 

il te faudrait plus un do/while, et avec un stream, pour etre plus dans l'esprit c++.


---------------
Töp of the plöp
n°1598925
sienda
Posté le 13-08-2007 à 13:06:30  profilanswer
 

Merci de ton aide, mais je débute, c'est quoi exactement un stream??

n°1598932
_darkalt3_
Proctopathe
Posté le 13-08-2007 à 13:24:28  profilanswer
 
n°1598934
antac
..
Posté le 13-08-2007 à 13:27:05  profilanswer
 

Tu veux stopper l'exécution du programme ou juste faire une pause dans cette exécution ?

n°1598949
sienda
Posté le 13-08-2007 à 13:51:06  profilanswer
 

antac a écrit :

Tu veux stopper l'exécution du programme ou juste faire une pause dans cette exécution ?


 
Juste faire une pause...

mood
Publicité
Posté le 13-08-2007 à 13:51:06  profilanswer
 

n°1598951
antac
..
Posté le 13-08-2007 à 13:52:06  profilanswer
 

sleep() ?

n°1598961
Taz
bisounours-codeur
Posté le 13-08-2007 à 14:17:18  profilanswer
 

un debugger ...
 
si t'es sous un vrai OS, tu peux envoyer un SIGSTOP.
 
sinon c'est quoi l'intérêt ?

n°1599113
Joel F
Real men use unique_ptr
Posté le 13-08-2007 à 17:38:30  profilanswer
 

sienda a écrit :


int main()
{
 int x=1;
 for (int i=1;i<=99999;i++)
  {
   int scanf (x);
   if (x==1)
   {
    cout<<i<<endl;
   }
   else
   {
    _getch();
    x=1;
   }
  }
}


 
Peut etre pas tu as ecris n'importenawak.

n°1599255
sienda
Posté le 14-08-2007 à 08:09:24  profilanswer
 

Un sleep ça fait une pause que l'on ne peut pas régler, et le but est de faire une application où défilent un grand nombre d'informations et l'utilisateur doit pouvoir faire une pause quand il en a envie...

n°1599263
Taz
bisounours-codeur
Posté le 14-08-2007 à 08:39:20  profilanswer
 

| less

n°1599344
durkheim
Posté le 14-08-2007 à 11:53:19  profilanswer
 

Il te faut programmer différemment. En vérifiant l'appui d'une touche au sein de la boucle principale ça marche pas bien, la détection est variable.
J'ai eu des résultats corrects en utilisant VS C++ et le modèle de programmation événementielle proposée. En utilisant une boucle qui traite  les signaux qui arrivent à la fenêtre windows ça marche aussi impec.

n°1604704
du83
Posté le 27-08-2007 à 18:47:28  profilanswer
 

Salut !
 
Je soumet la fonction suivante (j'ai copié sur inkey$ de certains Basic(s))
 
char Inkey()
{
    if(kbhit())
        return getch();
}
 
Il faut  la ligne  
#include <conio.h>
je crois !
 
La fonction permet de saisir un caractère au vol.

n°1604721
c0wb0y
:d
Posté le 27-08-2007 à 20:01:17  profilanswer
 

C'est spécifique à Borland ça je crois.

n°1604778
Coladin
Posté le 27-08-2007 à 23:24:38  profilanswer
 

Citation :

int main()
{
 int x=1;
 for (int i=1;i<=99999;i++)
  {
   int scanf (x);
   if (x==1)
   {
    cout<<i<<endl;
   }
   else
   {
    _getch();
    x=1;
   }
  }
}


....
 
 

Citation :

int main()
{
   long i = 0;
while(0){
   cin>>i;
   if (i != 0)
   {
    cout<<i<<endl;
    return 0;
   }
 
 
//traitement
}
return 0;
}


 
pause toute bête en attendant que l'utilisateur utilise une touche.

Message cité 1 fois
Message édité par Coladin le 27-08-2007 à 23:27:26
n°1605171
theshockwa​ve
I work at a firm named Koslow
Posté le 28-08-2007 à 13:30:14  profilanswer
 


 
c'est tout bonnement ignoble
 
qui plus est, il y a déjà de bonnes pistes où partir :
dans le pire des cas, s'il est pressé, il pourra faire un

Code :
  1. if(kbhit()) System("pause" );

bien placé dans sa boucle de traitement / affichage ou chercher avec les infos données plus haut pour avoir une solution plus élégante et portable s'il en a besoin


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

  Comment faire une pause lors du lancement d'un programme??

 

Sujets relatifs
"Enter" automatique sur un programmeerreur dans un programme simple (resolu)
php exec() programme externe[RESOLU] Signal SIGABRT dans mon programme sous Ubuntu
Execution d'un programmeLancement clip ???
Programme pour modification en ligne[Résolu] Lancement script avec MySQL Query Browser
Comment compiler ce programme ?Creer un programme pour pc sans OS
Plus de sujets relatifs à : Comment faire une pause lors du lancement d'un programme??


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