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 :

[Débutant] Exécution d'un prog.


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 9
    Par défaut [Débutant] Exécution d'un prog.
    Bonjour, je commence à apprendre le C, je suis aller sur ce site et j'ai D/l des cours, etc...

    j'ai compilé ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    #include <stdio.h>
    int main(void)
    {   int i;
        double x;
        i=0;
        x=3.1415926535; /*c'est un nbr float*/
        printf("bonjour tout le monde\n");
        printf("i vaut : %d et x vaut : %f '',i,x");
    return 0 ;
    }
    c'est l'exemple donné dans le cours, mon compilateur me donne alors 2 fichiers :
    un .cpp
    et un .exe.

    Quand je lance le .exe, ben j'ai un flash noir (genre commande MsDos) et puis rien.

    Alors est-ce qu'il faut que je rajoute le fichier stdio.h ??? que je n'ai pas?

    (désolé je débute vraiment^^)


    Edit: c'est le même problème que ici

    mais moi, quand je rajoute lorsque je compile ça ne marche pas ; c'est écrit il faut donc que je déclare la fonction système c'est ça?


    2nd édit : merci Diogène, ça marche avec getchar()

    [Merci d'utiliser les balises "code" et non pas les balises "quote" - Gangsoleil]

  2. #2
    Expert confirmé
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    double x;
    ....
    x=3.1415926535; /*c'est un nbr float*/ 
    printf("bonjour tout le monde\n"); 
    printf("i vaut : %d et x vaut : %f '',i,x");
    Non, c'est un nombre double, donc utilise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    printf("i vaut : %d et x vaut : %lf '',i,x");
    Quand je lance le .exe, ben j'ai un flash noir (genre commande MsDos) et puis rien.
    Oui, le programme ouvre la fenêtre , style DOS , s'exécute en une fraction de seconde et se termine en fermant la fenêtre. Pour maintenir la fenêtre ouverte , et voir ce qui s'affiche, ajoute system("Pause") ou getchar()
    Alors est-ce qu'il faut que je rajoute le fichier stdio.h
    Pour la déclaration de printf. Mais apparemment, il est déjà inclus
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    #include <stdio.h> 
    int main(void)

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 9
    Par défaut
    Merci , je viens d'éditer mon 1st message

  4. #4
    Expert confirmé
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Par défaut
    Essaie d'inclure stdlib.h, d'habitude, c'est là que se trouve la déclaration de la fonction system
    Note que, ceci n'est pas standard mais doit marcher sous windows et les genres Unix

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 9
    Par défaut
    Merci bcp ça marche dans les 2 cas;
    une question cependant : comment sait-on quelle directive pour le préprocesseur doit-on indiquer pour chaque fonction?

  6. #6
    Expert confirmé
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Par défaut
    une question cependant : comment sait-on quelle directive pour le préprocesseur doit-on indiquer pour chaque fonction?
    Ce n'est pas toujours évident. D'abord, il faut connaître le nom de la fonction qui fait ce qu'on veut, ensuite, chercher dans la doc cette fonction. elle doit indiquer, si elle est bien faite les fichiers à inclure. Si on n'a pas de doc sur son compilateur, on peut chercher dans la doc d'un autre mieux documenté. Avec un peu de chance ... on obtient une idée du .h concerné. Sinon, il faut de l'inspiration pour rechercher dans la kyrielle de .h.

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 9
    Par défaut
    Ok, ty,

    eueu tout les programmes en C se lancent via l'interface Ms Dos?
    ou il y a une fonction spéciale ? parce que c'est pas bô le Ms Dos....

  8. #8
    Expert confirmé
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Par défaut
    eueu tout les programmes en C se lancent via l'interface Ms Dos?
    ou il y a une fonction spéciale ? parce que c'est pas bô le Ms Dos....
    Non. Mais ce n'est pas qu'une fonction pour faire ça ! Il faut programmer à la sauce Windows ce qui est un peu différent comme concept et n'est pas lié directement au langage C. Je te conseille d'attendre un peu d'être bien familiarisé avec le langage avant de te lancer dans de belles interfaces avec fenêtres , boutons et autres fantaisies.

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    277
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 277
    Par défaut Re: [Débutant] Exécution d'un prog.
    Citation Envoyé par Blac_Nosai
    c'est l'exemple donné dans le cours, mon compilateur me donne alors 2 fichiers :
    un .cpp
    et un .exe.
    S'il te donne un .cpp, c'est que ton compilateur est réglé sur le C++, et non sur le C. Modifie ça (même si à première vue ça a l'air de marcher, c'est une mauvaise chose).

  10. #10
    Membre confirmé Avatar de Lucky-94
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    81
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 81
    Par défaut
    Pour que la fenêtre reste ouverte, lancez l'exécutable en ligne de commande.

  11. #11
    Membre expérimenté Avatar de blackhorus
    Inscrit en
    Février 2003
    Messages
    209
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 209
    Par défaut
    Citation Envoyé par Blac_Nosai
    Ok, ty,

    eueu tout les programmes en C se lancent via l'interface Ms Dos?
    ou il y a une fonction spéciale ? parce que c'est pas bô le Ms Dos....
    il faut se trouner vers la programmation windows, pour avoir une jolie interface, mais c'est un peu dure à mettre en oeuvre. je te conseille de maitriser un peu le C, avant de te tourner vers cette programmation.

  12. #12
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut Re: [Débutant] Exécution d'un prog.
    Citation Envoyé par Blac_Nosai
    c'est l'exemple donné dans le cours, mon compilateur me donne alors 2 fichiers :
    un .cpp
    .cpp, c'est pas bon. Pour faire du C, l'extension doit être .c (et non .C).

  13. #13
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par Blac_Nosai
    eueu tout les programmes en C se lancent via l'interface Ms Dos?
    ou il y a une fonction spéciale ? parce que c'est pas bô le Ms Dos....
    Le langage C est portable sur quasiment toutes les machines existantes dans le monde, avec ou sans système, du simple modem avec port série à la station graphique la plus puissante. Le choix délibéré de gérer une interface homme-machine la plus simple qui soit a été fait pour justement répondre à ce besoin de portabilité.

    Ce que tu appelles l'interface 'MS-DOS' est en fait un des aspects de l'interface 'console' encore appelé 'mode texte interactif' tel qu'il est disponible sur quasiment toutes les machines, notamment avec des moyens matériels aussi réduits qu'une interface série '3 fils' et une console externe..

    C'est le mode de base qui permet d'apprendre les bases du langage, et d'écrire des applications comme un compilateur, par exemple, qui est un programme très puissant d'analyse et de vérifcation de texte et de création de fichiers à partir de cette analyse. Evidemment, l'interface n'est pas très jolie, mais ce n'est pas le but, ce programme s'exécutant le plus souvent en mode invisible (Comme dans Dev-C++, par exemple).

    Il est cependant possible, si l'on dispose des extensions nécessaires, d'appeler les fonctions systèmes qui vont bien pour réaliser des applications avec interfaces graphiques (GUI) ou d'utiliser une couche d'(abstraction portable comme GTK+..

  14. #14
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 9
    Par défaut
    @ le furet et Emmanuel Delahaye: mon compilateur me donne un .cpp parce que c'est un compilateur c++ (Dev C++) mais si vous savez comment faire en sorte qu'il ne l'édite plus...

    Merci por toutes vos réponses.

  15. #15
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    nouveau projet -> projet C -> Langage par défaut
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  16. #16
    Membre confirmé
    Inscrit en
    Octobre 2005
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 22
    Par défaut
    Bonjour,

    À la place de:
    On peut également utiliser:
    Je sais que beaucoup le savent, mais pas les débutants, ça peut être plus rapide à écrire lorsqu'on code parfois.

    Cordialement,
    Bisounours

  17. #17
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par Blac_Nosai
    @ le furet et Emmanuel Delahaye: mon compilateur me donne un .cpp parce que c'est un compilateur c++ (Dev C++)
    Non. Tu as un environnement de développement (IDE) appelé Dev-C++ qui sait faire du C et du C++. Question de reglages. Voir la réponse de Médinoc.

  18. #18
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par Le Bisounours
    On peut également utiliser:
    En C ?

  19. #19
    Membre éclairé Avatar de benjiprog
    Profil pro
    Étudiant
    Inscrit en
    Septembre 2005
    Messages
    302
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2005
    Messages : 302
    Par défaut
    mon compilateur me donne un .cpp parce que c'est un compilateur c++ (Dev C++) mais si vous savez comment faire en sorte qu'il ne l'édite plus...

    Merci por toutes vos réponses.
    .cpp c'est l'extension pour les programmes écrit en C++ pour les programmes ecrit en langage C l'extansion est .c il suffit, quand tu enregistre ton fichier source, de placer l'extension .c tout simplement.

  20. #20
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    277
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 277
    Par défaut
    Et surtout, de sélectionner "projet C" au moment de la création du projet. J'utilise aussi DevCPP et il fait très bien la distinction entre C et C++ (heureusement).

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

Discussions similaires

  1. Erreur lors de l'exécution d'un prog (petit)
    Par zafo dans le forum Delphi
    Réponses: 9
    Dernier message: 25/08/2006, 23h07
  2. Réponses: 33
    Dernier message: 06/06/2006, 14h41
  3. Exécution d'un prog avec passage paramètres
    Par licorne dans le forum C
    Réponses: 3
    Dernier message: 04/05/2006, 13h05
  4. Réponses: 3
    Dernier message: 16/10/2005, 11h53
  5. Débutant: exécuter .jar sur un Mac
    Par hvgentil dans le forum JBuilder
    Réponses: 3
    Dernier message: 05/07/2004, 23h21

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