Le fichier exécutable d'un projet [Résolu]

Messages postés
34
Date d'inscription
mardi 2 août 2011
Statut
Membre
Dernière intervention
24 avril 2012
- - Dernière réponse : cs_LA_Tupac
Messages postés
305
Date d'inscription
jeudi 29 avril 2004
Statut
Membre
Dernière intervention
18 janvier 2012
- 7 août 2011 à 23:58
lorque mon projet est executé l'application elle se ferme trés vite de telle sorte je vois l'affichage
alor comment faire pour que mon fichier.exe reste ouvert jusqu'a moi le ferme
Afficher la suite 

7 réponses

Meilleure réponse
Messages postés
3801
Date d'inscription
dimanche 12 décembre 2004
Statut
Modérateur
Dernière intervention
15 novembre 2019
90
3
Merci
Évite les "using namespace", voir: http://0217021.free.fr/portfolio/axel.berardino/articles/bon-usage-using-namespace

Sinon, c'est effectivement une méthode plus propre que de faire un system("pause");
En propre:
#include

int main()
{
  std::cout << "Hello world!" << std::endl
            << "Voici un programme illustrant l'utilisation de std::cout !" << std::endl
            << "Appuyez sur une touche pour continuer ..." << std::endl;
  std::cin.ignore();
  std::cin.get();

  return 0;
} 


________________________________________________________________________
Historique de mes créations, et quelques articles:
[ http://0217021.free.fr/portfolio http://0217021.free.fr/portfolio]
Merci d'utiliser Réponse acceptée si un post répond à votre question

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 222 internautes nous ont dit merci ce mois-ci

Commenter la réponse de cptpingu
Messages postés
3983
Date d'inscription
jeudi 14 juillet 2005
Statut
Membre
Dernière intervention
30 juin 2013
11
0
Merci
Méthode affreuse : system("pause"); avant la sortie de main().
Méthode moins affreuse : char q; [...]; scanf("%c", &q); return x;

VB.NET is good ... VB6 is better
Utilise Réponse acceptée quand un post répond à ta question
Commenter la réponse de cs_ghuysmans99
Messages postés
34
Date d'inscription
mardi 2 août 2011
Statut
Membre
Dernière intervention
24 avril 2012
0
Merci
#include
using namespace std;

int main(int argc, char **argv)
{
cout << "Hello world!" << endl;
cout << "Voici un programme illustrant l'utilisation de cout!";
cout << "Appuyez sur une touche pour continuer ..." << endl;
cin.ignore();
cin.get();
return EXIT_SUCCESS;
}
j'ai essayé avec ce programme normallement il affiche hello...appuyez sur une touche pour continuer...et lorsque j'appuie sur une touche il se ferme
Commenter la réponse de cs_imoum
Messages postés
34
Date d'inscription
mardi 2 août 2011
Statut
Membre
Dernière intervention
24 avril 2012
0
Merci
ça b1 marché merci
Commenter la réponse de cs_imoum
Messages postés
305
Date d'inscription
jeudi 29 avril 2004
Statut
Membre
Dernière intervention
18 janvier 2012
0
Merci
Je comprend bien le soucis soulevé par ton article CptPingu, surtout avec la STL dont les termes sont très génériques mais il faut avouer que std:: fini par sortir par les yeux au bout de la 50ème ligne écrite .

imoun, clique sur "réponse acceptée" pour qu'on sache qu'il est résolu.
Commenter la réponse de cs_LA_Tupac
Messages postés
3801
Date d'inscription
dimanche 12 décembre 2004
Statut
Modérateur
Dernière intervention
15 novembre 2019
90
0
Merci
@LA_Tupac:
- std:: fait parti du langage, et est un bon indicateur de ce qui est standard ou non. Il est généralement conseillé de le laisser.
- Je ne dis pas de ne jamais faire sauter les esapces de nom, mais de le faire proprement (via using, et non using namespace, et surtout dans une portée limitée, à l'intérieur d'une fonction par exemple)
- Tu ne sais absoluement pas ce qu'il y a dans les différentes implémentations de la STL, ni dans celle à venir. Il y a de forte chance qu'un composant à toi porte le même nom qu'un élément de la STL. Dans le meilleur des cas, ça ne compile pas, dans le pire le comportement est completement absurde.
- Petit exemple d'entreprise: Dans un ancien code que je devais mettre à jour, je devais à un moment, calculer une somme en appliquant un coefficient. Malheureusement, mon prédecesseur avait foutu du "using namespace std;" partout :(. Dans un autre fichier, j'ai voulu coder ma fonction "count". Et quoi que je fasse, je me retrouvais sans cesse avec des valeurs étranges ! J'ai mis beaucoup de temps à comprendre mon erreur. Voici un exemple, très très simplifié de mon souci:

#include 
#include 

using namespace std;

int main()
{
  int tab[] = {1, 2, 3, 4, 6, 7, 8, 9}; // 40 * coeff 2 => 80
  const int size = sizeof(tab) / sizeof(int);

  cout << "Sum is: "
       << count(tab, tab + size, 2) << endl // 1 au lieu de 80 ????
       << endl;
}

int count(int* begin, int* end, int coeff)
{
  int sum = 0;
  while (begin != end)
  {
    sum += *begin;
    ++begin;
  }
  return sum * coeff;
}


Au lieu de 80, ça te renverra: 1
La comme ça, c'est peut être ultra évident ce qui ne vas pas. Mais dit toi que quand tu as +50 fichiers, et que le code est bien plus compliqué que ça, et que tu penses que le souci vient de ton code (vu qu'avant ça fonctionnait), crois moi tu perds énormément de temps.

________________________________________________________________________
Historique de mes créations, et quelques articles:
[ http://0217021.free.fr/portfolio http://0217021.free.fr/portfolio]
Merci d'utiliser Réponse acceptée si un post répond à votre question
Commenter la réponse de cptpingu
Messages postés
305
Date d'inscription
jeudi 29 avril 2004
Statut
Membre
Dernière intervention
18 janvier 2012
0
Merci
Tu prêche un converti mon chère. Je dis simplement que c'est pas très joli dans le code
Perso je laisse les std:: à la conception et je les vire en toute fin en vérifiant tout avant.
M'enfin, chacun sa méthode, le tout est d'être conscient du problème
Commenter la réponse de cs_LA_Tupac