Partage
  • Partager sur Facebook
  • Partager sur Twitter

Question sur les syntaxes C++14/C++17

    20 mars 2018 à 13:36:43

    Bonjour à tous !

    Alors voilà, j'ai commencer à me plonger dans le cours de gbdivers et je me pose quelques questions, donc les voici :

    • Premièrement, à chaque fin de programme sur la console j'utilise systématiquement la commande
      system("pause");

    Mais est-ce une bonne chose ?

    J'ai vu tout un tas de commande qui permettrait de faire la même chose, notamment :

    getch();

    Mais selon ma mémoire, c'est une commande qui est utilisable en C, est-ce que cette commande est donc obsolète ?

    • Ensuite, dans le cour d'OC, les types utilisés pour les chiffres à virgules sont définit comme tel :
    real nomVariable;

     Mais dans le cours de gbdivers (en tout cas où j'en suis), les variables pour les chiffres à virgules sont définit en temps que float, y-t-il une raison à ça ?

    Merci d'avance à tout le monde ayant pu lire ce poste.

    • Partager sur Facebook
    • Partager sur Twitter
      20 mars 2018 à 14:31:11

      1- Non. Trouve comment ton IDE doit être utilisé et utilise le correctement. system(pause) est un contournement dégueulasse dont la seule vocation est de pallier à un IDE non maîtrisé -- p.ex. sous les vieux VC++, il fallait lancer le programme avec CTRL-F5 (execute) au lieu de F5 (debug), l'option est ailleurs maintenant.

      2- les types à préférer sont double et float. real est un typedef non standard, il peut présenter des intérêts, mais à l'ère du template (vieille de 20ans en C++), je commence à douter fortement de sa pertinence.

      • Partager sur Facebook
      • Partager sur Twitter
      C++: Blog|FAQ C++ dvpz|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS| Bons livres sur le C++| PS: Je ne réponds pas aux questions techniques par MP.
        20 mars 2018 à 14:31:36

        Salut,

        Pour faire une pause, regarde dans la configuration de ton IDE, il doit y avoir quelque chose.
        Sinon la façon plus officielle de faire est d'utiliser std::cin.get();

        real, n'est pas un type standard de C++ (il y a un alias dans le cours d'OC ?).
        Raison de plus pour ne pas suivre ce cours.

        • Partager sur Facebook
        • Partager sur Twitter
          20 mars 2018 à 14:43:20

          Hello,

          Pour system("pause"), il faut savoir que c'est une "commande" typique de windows, donc niveau portabilité... c'est pas le top du tout. Par exemple, si tu l'utilises sous Linux, le Shell te renverra une erreur en t'indiquant qu'il ne connaît pas la commande "pause". Du coup, idéalement tu peux utiliser std::cin.get(), ce qui mettra la console en "pause" ou plutôt qui attendra que tu appuies sur une touche pour continuer.

          Mais de toute façon comme l'on dit les 2 compères, ton IDE peut être configurer pour faire automatiquement une pause en fin de parcours.

          skyflo355 a écrit:

          Mais dans le cours de gbdivers (en tout cas où j'en suis), les variables pour les chiffres à virgules sont définit en temps que float, y-t-il une raison à ça ?

          Oh ba oui il y a une raison, c'est parce que le type des nombres à virgules est désigné par... roulement de tambour... float (ou double pour une plus grande précision, entends par là plus de chiffres après la virgule) ;) .

          Sinon petit conseil, ne t'attarde pas sur le cours d'OC, il est obsolète.

          -
          Edité par Guit0Xx 20 mars 2018 à 14:53:29

          • Partager sur Facebook
          • Partager sur Twitter

          ...

            20 mars 2018 à 15:19:58

            Merci à tous, en effet, je n'utilisait pas la bonne fonction pour lancer mon programme, j'utilisais le débogueur de visual studio, en fait il fallait juste que j'appuie sur CTRL+F5.

            D'accord, je vous remercie concernant ces précisions sur les nombres à virgules !

            Pour ce qui est des cours d'OC, je ne les suis plus mais je l'avais déjà plutôt bien attaqué je pense (26%) donc j'ai gardé des trucs en mémoire.

            • Partager sur Facebook
            • Partager sur Twitter
              20 mars 2018 à 20:46:43

              Moi perso j'utilise .

              std::cin.get()



              • Partager sur Facebook
              • Partager sur Twitter
                20 mars 2018 à 21:55:01

                Et bien ne le fais pas. Configure correctement ton IDE.

                • Partager sur Facebook
                • Partager sur Twitter

                Posez vos questions ou discutez informatique, sur le Discord NaN | Tuto : Preuve de programmes C

                  21 mars 2018 à 9:13:00

                  Il n'y a aucune raison de faire une pause dans un programme. Certains d'entre nous lancent les applications depuis le terminal alors... la fenêtre est déjà là et il devient redondant de mettre en pause pour voir ce qu'il s'est affiché.
                  • Partager sur Facebook
                  • Partager sur Twitter

                  git is great because Linus did it, mercurial is better because he didn't.

                    22 mars 2018 à 9:32:11

                    markand a écrit:

                    Il n'y a aucune raison de faire une pause dans un programme. Certains d'entre nous lancent les applications depuis le terminal alors... la fenêtre est déjà là et il devient redondant de mettre en pause pour voir ce qu'il s'est affiché.


                    En fait, pas certains, mais tous ceux qui vont utiliser le programme réalisé, si son but est de servir à quelque chose.

                    Ils ne vont pas s'amuser à le lancer depuis un IDE , qui est un outil de PROGRAMMEUR.

                    -
                    Edité par michelbillaud 22 mars 2018 à 9:32:41

                    • Partager sur Facebook
                    • Partager sur Twitter
                      22 mars 2018 à 17:23:31

                      Je ne suis pas d'accord, aucune des commandes sous windows mettent une pause après avoir terminé leur processus. S'il y a vraiment besoin d'afficher un message en console en partant de l'explorateur, autant faire un deuxième script spécifique Windows qui appelle l'application normale (sans code non portable donc)
                      • Partager sur Facebook
                      • Partager sur Twitter

                      git is great because Linus did it, mercurial is better because he didn't.

                      Question sur les syntaxes C++14/C++17

                      × 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