IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

programme en c++


Sujet :

C++

  1. #1
    Nouveau membre du Club
    Inscrit en
    Janvier 2009
    Messages
    54
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 54
    Points : 30
    Points
    30
    Par défaut programme en c++
    bonjour : c'est ma 3ème question dans ce forum et je n'ai reçu qu'une seule réponse je sais pas est ce que mes questions sont très simple ou quoi en tout cas j'ai une autre question et j'espère que quelqu'un me répond. je suis débutante en c++ et j'ai commencé à travailler par borland c++, mon problème est que lorsque j'écrit n'importe quel programme et je l'exécute je n'obitent rien juste une fenetre MS-DOS qui s'affiche et disparait rapidement sans que j'arrive meme à lire qu'est ce qui est écrit, si quelqu'un à rencontré ce problème et il l'a résolu peut me dire comment faire.
    merci d'avance

  2. #2
    Membre averti Avatar de Trunks
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2004
    Messages
    534
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2004
    Messages : 534
    Points : 412
    Points
    412
    Par défaut
    je sais pas si c'est la meilleure solution, mais tu peux ajouter en fin de programme :


  3. #3
    Membre émérite
    Avatar de white_tentacle
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    1 505
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 1 505
    Points : 2 799
    Points
    2 799
    Par défaut
    Je ne me souviens plus où (ça remonte à loin ! ), mais je crois bien qu'il y a quelque part dans les options de borland c++ une qui permet de laisser la fenêtre ouverte après l'exécution du programme.

    Sinon, une solution (pas très belle, mais fonctionnelle) consiste à simplement ajouter:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    char c;
    std::cin >> c;
    juste avant la fin de ton main(). Ainsi, le programme attendra que tu tape un caractère et valide pour quitter.

  4. #4
    Rédacteur

    Inscrit en
    Novembre 2006
    Messages
    1 272
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 272
    Points : 1 672
    Points
    1 672
    Par défaut
    Sinon je pense qu'une fois compilé il lance l'exe depuis une fenêtre MS-DOS en ligne de commande et normalement le fenêtre ne se refermera pas.
    Vous voulez participer aux Tutoriels, FAQ ou Traductions et faire partie de l'équipe Qt de Developpez.
    N'hésitez pas à me contacter par MP.

  5. #5
    Membre chevronné
    Avatar de Goten
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 580
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 580
    Points : 2 205
    Points
    2 205
    Par défaut
    Ou alors la solution propre... purger le buffer clavier. Cf la faq pour plus de détails.
    "Hardcoded types are to generic code what magic constants are to regular code." --A. Alexandrescu

  6. #6
    Membre chevronné
    Homme Profil pro
    edi
    Inscrit en
    Juin 2007
    Messages
    899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : edi

    Informations forums :
    Inscription : Juin 2007
    Messages : 899
    Points : 1 916
    Points
    1 916
    Par défaut
    Quand tu lances un programme, il s'exécute puis s'arrête, lorsque la dernière instruction est terminée. Quand tu exécute un programme depuis ton EDI, il ouvre une console pour l'exécution du programme, puis la ferme lorsque celui-ci est terminé. Donc si ton programme contient juste un 'cout << "hello";', la console s'ouvre, le programme affiche "hello", le programme se termine, la fenêtre de la console se ferme, sans que tu aies pu voir quoi que ce soit.

    Si tu veux voir ce qu'écrit ton programme, il faut que tu rajoute une instruction qui lui demande une action de l'utilisateur, 'system("pause")' étant le grand classique ("Press any key to continue...").

    Une manière de te représenter la chose, c'est d'ouvrir toi-même l'interprêteur de commande, de te déplacer dans les répertoire vers ton fichier exécutable, et de lancer l'exécutable depuis cette console (tu verras que prendre fin silencieusement est un comportement normal pour un programme).

    Pour la petite histoire, l'éditeur code::blocks appelle une console pour exécuter le programme que tu viens de compiler et la termine par un system("pause") plutôt que de la fermer de suite.

  7. #7
    Membre chevronné
    Avatar de Goten
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 580
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 580
    Points : 2 205
    Points
    2 205
    Par défaut
    system('pause') c'est pas portable, je me répéte une solution propre est de purger le buffer clavier...
    "Hardcoded types are to generic code what magic constants are to regular code." --A. Alexandrescu

  8. #8
    Expert éminent sénior
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 275
    Points : 10 985
    Points
    10 985
    Par défaut
    La solution propre n'est pas de modifier le code pour qu'il se mette en pause.
    Le problème est au niveau de l'outil, au choix: mauvaise paramétrisation, mauvaise utilisation, mauvais outil.
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

  9. #9
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 614
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 614
    Points : 30 626
    Points
    30 626
    Par défaut
    Salut, et bienvenue sur le forum
    Citation Envoyé par dadou846 Voir le message
    bonjour : c'est ma 3ème question dans ce forum et je n'ai reçu qu'une seule réponse je sais pas est ce que mes questions sont très simple ou quoi en tout cas j'ai une autre question et j'espère que quelqu'un me répond.
    J'aimerais attirer ton attention sur le fait que l'ensemble des intervenants du forum (y compris les responsables et les modérateurs/rédacteurs) sont, tout comme toi, des intervenants bénévoles, qui ont parfois des choses plus importantes à faire qu'à répondre à des questions, finalement relativement mal posées, "dans la seconde".

    Il me semble inopportun de croire que les intervenants sont taillables et corvéables à merci

    Tout comme tu es en droit de souhaiter une réponse rapide, nous sommes en droit de ne pas répondre, ou de prendre le temps avant de te faire une réponse la plus correcte possible.

    Le problème est que, si tu veux une réponse claire, précise et adaptée à tes besoins, il est important que tu nous pose une question claire et précise, de préférence dans un français correct, avec une orthographe aussi juste que faire se peut, en respectant -autant que faire se peut - les règles de ponctuation, et en veillant - si possible - à présenter ton texte d'une manière qui ne soit pas trop rébarbative, en séparant, par exemple, les différents points abordés sous la forme de paragraphes.

    Le fait de donner un titre qui soit en rapport avec l'objectif de ta question te permettra en outre d'obtenir une aide bien plus rapidement

    je suis débutante en c++ et j'ai commencé à travailler par borland c++, mon problème est que lorsque j'écrit n'importe quel programme et je l'exécute je n'obitent rien juste une fenetre MS-DOS qui s'affiche et disparait rapidement sans que j'arrive meme à lire qu'est ce qui est écrit, si quelqu'un à rencontré ce problème et il l'a résolu peut me dire comment faire.
    merci d'avance
    C'est malheureusement normal: lorsque tu lance un programme destiné à s'effectuer dans une console, si tu ne prend pas la précaution d'organiser des pauses à l'exécution, la console se ferme automatiquement lorsque la fin du programme est atteinte, à moins que tu n'invoque ton application depuis une console déjà existante (menu démarrer -> exécuter -> tapper "cmd" + < enter> puis, dans la console ainsi créée se diriger dans le dossier dans lequel se trouve l'application en question (cd /chemin/vers/dossier_ou_se_trouve/l_application) et l'invoquer par son nom)

    Afin de créer une pause dans une application, il y a plusieurs solutions:
    Citation Envoyé par Trunks Voir le message
    je sais pas si c'est la meilleure solution, mais tu peux ajouter en fin de programme :

    C'est l'une des solutions, mais il faut savoir qu'elle n'est pas portable (il s'agit généralement de se méfier énormément de toutes les commande system("une_commande") car elles ne fonctionnent que... sur le système sur lequel cette commande existe).

    La commande pause ne fonctionne, en l'occurrence, que sous windows

    Citation Envoyé par Goten Voir le message
    Ou alors la solution propre... purger le buffer clavier. Cf la faq pour plus de détails.
    Avec un lien vers l'entrée de la FAQ en plus, cela aurait été génial

    Voici donc le lien en question
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  10. #10
    Membre averti Avatar de Trunks
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2004
    Messages
    534
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2004
    Messages : 534
    Points : 412
    Points
    412
    Par défaut
    Citation Envoyé par koala01 Voir le message
    La commande pause ne fonctionne, en l'occurrence, que sous windows
    Oui je sais, j'aurais pu mentionner la macro windows à ajouter. C'était juste une réponse rapide et incomplète j'avoue

Discussions similaires

  1. Programme de boot qui passe la main à Windows
    Par Bob dans le forum Assembleur
    Réponses: 7
    Dernier message: 25/11/2002, 03h08
  2. [Kylix] Probleme d'execution de programmes...
    Par yopziggy dans le forum EDI
    Réponses: 19
    Dernier message: 03/05/2002, 14h50
  3. communication entre programmes
    Par jérôme dans le forum C
    Réponses: 12
    Dernier message: 16/04/2002, 08h05
  4. Comment débuter en programmation ?
    Par Marc Lussac dans le forum Débuter
    Réponses: 0
    Dernier message: 08/04/2002, 11h29
  5. [Kylix] icone associée à un programme
    Par Anonymous dans le forum EDI
    Réponses: 1
    Dernier message: 22/03/2002, 09h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo