Partage
  • Partager sur Facebook
  • Partager sur Twitter

ma console se ferme toute seule

    19 janvier 2020 à 17:18:59

    Bonjour,

    J'aimerai réaliser un programme pour réviser mes E3C d'allemand (ce sont des nouvelles épreuves du bac).

    Une fois se programme réaliser j'aimerais le partager avec des personnes de ma classe. J'ai donc eu la nécessiter de le "convertir" en fichier .exe.

    Je suis débutant et ne savant pas transformer un fichier c++ en fichier .exe j'ai voulue réaliser un teste avant de me lancer dans la réalisation de se projet.

    Cependant, mon fichier .exe se ferme tout seule avant d'afficher la fin de mon programme. (a la ligne 10)

    Merci de pouvoir m'aider a résoudre se problème !

    mon code :

    -
    Edité par CélestinDuputié 19 janvier 2020 à 17:26:00

    • Partager sur Facebook
    • Partager sur Twitter
      19 janvier 2020 à 18:17:03

      Salut,

      Rajoute ceci à la fin de ton main :

      std::string str;
      std::cin >> str;



      • Partager sur Facebook
      • Partager sur Twitter
        19 janvier 2020 à 20:16:33

        Bonjour,

        Le message qui suit est une réponse automatique activée par un membre de l'équipe. Les réponses automatiques leur permettent d'éviter d'avoir à répéter de nombreuses fois la même chose, ce qui leur fait gagner du temps et leur permet de s'occuper des sujets qui méritent plus d'attention.
        Nous sommes néanmoins ouverts et si vous avez une question ou une remarque, n'hésitez pas à contacter la personne en question par Message Privé.

        Pour plus d'informations, nous vous invitons à lire les règles générales du forum

        Merci de colorer votre code à l'aide du bouton Code

        Les forums d'Openclassrooms disposent d'une fonctionnalité permettant de colorer et mettre en forme les codes source afin de les rendre plus lisibles et faciles à manipuler par les intervenants. Pour cela, il faut utiliser le bouton Code de l'éditeur, choisir un des langages proposés et coller votre code dans la zone prévue. Si vous utilisez l'éditeur de messages en mode Markdown, il faut utiliser les balises <pre class="brush: cpp;">Votre code ici</pre>.

        Liens conseillés

        • Partager sur Facebook
        • Partager sur Twitter
          19 janvier 2020 à 21:08:02

          Ah ! tu n'es pas le seul ici a reviser tes E3C ;) alors deja si tu veux avoir un beau code enleve moi 

          using namespace std;
          Parce que ça peut créer des confusions au niveau du compilateur ( Par exemple deux classes string sans std:: le compilateur ne va pas savoir lequel des deux objets choisir) et ton programme se ferme rapidement parce que ton programme s’arrête quand il rencontre 
          return 0;

          et donc vu que le programme s'execute a une vitesse assez rapide, tu n'as pas le temps de voir donc il y a plusieurs solutions:

          -tu rajoutes un std::cin a la fin de ton code juste avant le return 0 comme ça le programme va s’arrêter et tu auras le temps de lire ta phrase
          -tu peux rajouter un boucle afin que le code se répète

          Et il me semble(je ne suis pas sur) que c'est un code tiré du cours d'oc et il n'est pas recommandé de le suivre parce que trop ancien et remplie d'erreurs, tu ferais mieux de suivre le cours de zeste du savoir ,la partie poo est en cours de rédaction mais il y a des bases solides et bien expliqué et sans erreurs(https://zestedesavoir.com/tutoriels/822/la-programmation-en-c-moderne/)

          -
          Edité par Kiwi_Dch 19 janvier 2020 à 21:14:51

          • Partager sur Facebook
          • Partager sur Twitter
            19 janvier 2020 à 22:32:05

            Salut,

            Si ta console se ferme toute seule, ce n'est pas au niveau du code que tu dois gérer le problème, mais bien au niveau de ton EDI (environnement de développement intégré).

            En cherchant bien dans les options, tu devrait trouver la possibilité de définir s'il faut faire une pause après l'exécution du programme ou non ;)

            • Partager sur Facebook
            • Partager sur Twitter
            Ce qui se conçoit bien s'énonce clairement. Et les mots pour le dire viennent aisément.Mon nouveau livre : Coder efficacement - Bonnes pratiques et erreurs  à éviter (en C++)Avant de faire ce que tu ne pourras défaire, penses à tout ce que tu ne pourras plus faire une fois que tu l'auras fait
              20 janvier 2020 à 0:53:14

              CélestinDuputié a écrit:

              Cependant, mon fichier .exe se ferme tout seule avant d'afficher la fin de mon programme. (a la ligne 10)

              -
              Edité par CélestinDuputié il y a environ 7 heures

              Un simple getchar()a la fin de ton programme devrait resoudre ton probleme. Ton programme s'execute vite et se ferme donc. getchar va creer une pause jusqu'a ce que tu entres un caractere. Tu peux donc ecrire a la fin:
              std::cout<<"Appuyez sur une touche pour quitter..."<<std::endl;
              getchar();



              -
              Edité par Asmitta 20 janvier 2020 à 0:54:08

              • Partager sur Facebook
              • Partager sur Twitter
                20 janvier 2020 à 10:29:39

                Asmitta a écrit:

                CélestinDuputié a écrit:

                Cependant, mon fichier .exe se ferme tout seule avant d'afficher la fin de mon programme. (a la ligne 10)

                -
                Edité par CélestinDuputié il y a environ 7 heures

                Un simple getchar()a la fin de ton programme devrait resoudre ton probleme. Ton programme s'execute vite et se ferme donc. getchar va creer une pause jusqu'a ce que tu entres un caractere. Tu peux donc ecrire a la fin:

                std::cout<<"Appuyez sur une touche pour quitter..."<<std::endl;
                getchar();

                Surtout pas, malheureux!!!

                Tu mériterais de passer par la fenêtre, en étant heureux que l'on ait pensé à l'ouvrir avant!

                Il faut comprendre que, si une console se ferme toute seule à la fin de l'exécution, c'est qu'il y a une bonne raison pour que cela arrive.

                A l'extrême limite, si l'on a vraiment une bonne raison de vouloir que la console ne se ferme pas (en dehors de toute période de développement), on ouvre la console et on lance l'application directement à partir de celle-ci au lieu de double cliquer sur le fichier exécutable.  Comme le processus qui gère la console sera alors séparé de celui qui gère l'application, la console restera ouverte après la fin de l'exécution de l'application.

                Si on a une bonne raison de demander à l'application de provoquer une pause durant son exécution, autant le faire correctement, par exemple en suivant la manière décrite dans la FAQ de developpez; tout en restant conscient du fait que les pauses incessantes ont rapidement tendance à devenir plus embêtantes qu'autre chose.

                Enfin, si le but de  la pause est simplement de se donner le temps de voir les derniers messages à la fin de l'exécution lorsque l'on développe son application, il est largement préférable de configurer son EDI pour qu'il en produise une avant de fermer la console qu'il aura lui-même ouverte à la fin de l'exécution ;)

                • Partager sur Facebook
                • Partager sur Twitter
                Ce qui se conçoit bien s'énonce clairement. Et les mots pour le dire viennent aisément.Mon nouveau livre : Coder efficacement - Bonnes pratiques et erreurs  à éviter (en C++)Avant de faire ce que tu ne pourras défaire, penses à tout ce que tu ne pourras plus faire une fois que tu l'auras fait
                  27 janvier 2020 à 21:08:36

                  bonjour,

                  Je vous remercie tous pour votre aide mais elle ne m'est malheureusement d'aucune utilité...

                  J'ai tenter tout vos astuces (sauf la boucle car je suis débutant et je ne sais pas comment m'y prendre) mais malheureusement aucunes ne fonctionnent...

                  Koala01 pourrais tu me donner plus d'information par rapport au paramètre de mon IDE stp car je suis comme je l'ai dit précédemment débutant et le vocabulaire mon vocabulaire n'est pas au point de plus code::bock est en anglais alors sa ne facilite pas la tache. Je redoute fortement les expédition dans les paramètre car c'est comme si on me parlait chinois. Les option des paramètre ne représente rien pour moi alors c'est difficile de m'y aventurer sans piste. 

                  bien sur il y a un début a tout alors je suis ouvert :)

                  Merci d'avance pour votre réponse et merci de prendre du temps pour m'aider^^

                  • Partager sur Facebook
                  • Partager sur Twitter
                    27 janvier 2020 à 21:30:22

                    Dans le menu projects->properties ...  Sélectionne l'onglet "build targets"

                    sur la partie droite de la fenetre, tu devrais voir une ligne "platform" suivie d'une ligne "Type", et, juste en dessous, une case à cocher "Pause when execution ends".  C'est cette case qui doit être cochée ;)

                    • Partager sur Facebook
                    • Partager sur Twitter
                    Ce qui se conçoit bien s'énonce clairement. Et les mots pour le dire viennent aisément.Mon nouveau livre : Coder efficacement - Bonnes pratiques et erreurs  à éviter (en C++)Avant de faire ce que tu ne pourras défaire, penses à tout ce que tu ne pourras plus faire une fois que tu l'auras fait

                    ma console se ferme toute seule

                    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                    • Editeur
                    • Markdown