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

Dev-C++ Discussion :

[DEBUTANT]Probleme executer programme


Sujet :

Dev-C++

  1. #1
    Rédacteur
    Avatar de lavazavio
    Homme Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 673
    Points : 2 412
    Points
    2 412
    Par défaut [DEBUTANT]Probleme executer programme
    Bonjour,

    Je suis novice au plus bas niveau en programmation et je découvre Dev-C++ !
    J'aimerais savoir pourquoi tous mes programmes ne fonctionnent pas quand je les execute. En fait, la fenetre de commande s'ouvre, j'ai mon instruction, mais quand je rentre un champ et que je fais Entrée, la fenetre se ferme au lieu de me donner le résultat...

    Un petit programme pour exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    #include <stdio.h>
     
    int main()
    {
    	int n;
    	printf ("entrez un entier : ");
    	scanf ("%d",&n);
    	printf ("le carre de %d est : %d",n,n*n);
    	return 0;
    }
    Rédacteur et Modérateur rubriques Linux et Virtualisation
    Mes Articles
    N'oubliez pas de consulter les FAQ Linux et les cours et tutoriels Linux
    N'oubliez pas de consulter les FAQ virtualisation et les cours et tutoriels Virtualisation
    Man pages en français

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 34
    Points : 28
    Points
    28
    Par défaut
    J'ai essayé ton programme et chez moi la fenêtre ne se ferme pas. Je suis allé au plus simple: création d'une application console avec wxDev-Cpp et j'ai rentré ton code. Ca donne ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    #include <cstdlib>
    #include <iostream>
     
    using namespace std;
     
    int main()
    {
        int n;
        printf ("entrez un entier : ");
        scanf ("%d",&n);
        printf ("le carre de %d est : %d",n,n*n);
        system("PAUSE");
        return EXIT_SUCCESS;
    }
    Ensuite j'ai lancé DOS puis j'ai exécuté ton programme et pas de soucis, la fenêtre m'affiche le résultat...

  3. #3
    Rédacteur
    Avatar de lavazavio
    Homme Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 673
    Points : 2 412
    Points
    2 412
    Par défaut
    Merci,

    je sais pas quoi dire. Je sais que mon code est juste mais la fenetre DOS se ferme juste apres la fin de commande. Je n'ai pas le temps de voir le resultat !
    Il n'y a pas une clé de registre ou autre qui interdit a une fenetre DOS de se fermer ou quelque chose comme ca ?
    Rédacteur et Modérateur rubriques Linux et Virtualisation
    Mes Articles
    N'oubliez pas de consulter les FAQ Linux et les cours et tutoriels Linux
    N'oubliez pas de consulter les FAQ virtualisation et les cours et tutoriels Virtualisation
    Man pages en français

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    34
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 34
    Points : 28
    Points
    28
    Par défaut
    Euh... alors là je ne vois pas. Désolé.

  5. #5
    Membre du Club
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Octobre 2007
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2007
    Messages : 46
    Points : 57
    Points
    57
    Par défaut VOILA VOILA ^^ !!
    Et bien après 5 min de grattage g trouvé la solution ^^ enfaite dans ton code au début t'avais "cstdlib" au lieu de "stdlib" ce qui fait que t'avais pas de system pause actif du coup ça s'affichait pas ! ensuite je me suis permis de modifier un peu ton code en changeant ta variable pour carré je l'ai appelé "c" ^^ comme ça pas de possibilité de se tromper avec n voila le magique code is here ==>


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    #include <stdio.h>
    #include<stdlib.h>
     
     
    int main()
    {
    	int n,c;
    	printf ("entrez un entier:",n );
    	scanf ("%d",&n);
    	c = n * n;
    	printf ("affichez le carré est de : %d " , c);
    	system("pause");
    	return 0;
    }
    Enjoy

  6. #6
    Rédacteur
    Avatar de lavazavio
    Homme Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 673
    Points : 2 412
    Points
    2 412
    Par défaut
    Génial !!!

    Ca fonctionne, la fenetre reste ouverte !
    Merci beaucoup.
    Rédacteur et Modérateur rubriques Linux et Virtualisation
    Mes Articles
    N'oubliez pas de consulter les FAQ Linux et les cours et tutoriels Linux
    N'oubliez pas de consulter les FAQ virtualisation et les cours et tutoriels Virtualisation
    Man pages en français

  7. #7
    Membre régulier
    Profil pro
    Concepteur traitement de signal
    Inscrit en
    Août 2004
    Messages
    192
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Concepteur traitement de signal
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2004
    Messages : 192
    Points : 106
    Points
    106
    Par défaut
    Bon, je vais ajouter mon grain de sel
    Alors mettre une pause à la fin est en effet une bonne chose. Tu aurais tout aussi bien pu mettre une fonction du style getch()....
    Bref voici ce que je pourrais te proposer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    #include <stdio.h>
    #include <conio.h>
     
    void main() // J'ai mis un void plutôt qu'un int main pour dire que la fonction ne 
                // retourne rien, ça évite le return 0 à la fin
    {
      int nb, carre; 
      int touche;
      printf("Entrer un nombre : ");
      scanf("%d",&nb);
      carre = nb*nb;
      printf("Le carre de %d est : %d \n",nb,carre);
     
      // On attend alors que l'utilisateur appuie sur une touche pour
      // finir le programme
      printf("Appuyez sur une touche pour finir...");
      touche = getch();
    }
    Mais encore mieux, si tu veux utiliser le C++ ça ressemblerait plus à quelque chose du style :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    #include <iostream>
     
    using namespace std;
     
    void main()
    {
      double nb, carre; //pourquoi se contenter des entiers ?
      int touche;
      cout << "Entrer un nombre : ";
      cin >> nb;
      carre = nb*nb;
      cout << "Le carre de " << nb << " est : " << carre;
     
      // On attend alors que l'utilisateur appuie sur une touche pour
      // finir le programme
      cout << "Appuyez sur une touche pour finir...";
      cin >> touche; //nécessite d'appuyer sur une touche puis entrée
    }

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. probleme execution programme sous tse
    Par cyberyan dans le forum Windows Serveur
    Réponses: 1
    Dernier message: 26/11/2007, 16h21
  2. Problème execution programme SDL
    Par youp_db dans le forum SDL
    Réponses: 2
    Dernier message: 11/02/2006, 18h06
  3. Probleme execution programme
    Par jmjmjm dans le forum Bases de données
    Réponses: 3
    Dernier message: 27/11/2005, 19h32
  4. [Debutant(e)]Execution d'un programme externe
    Par saidi_chahrat dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 26/08/2004, 11h35
  5. [Kylix] probleme execution programme
    Par vin's dans le forum EDI
    Réponses: 1
    Dernier message: 31/03/2004, 12h25

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