Partage
  • Partager sur Facebook
  • Partager sur Twitter

Probleme #include "main.h"

Erreur

Sujet résolu
    17 février 2006 à 10:08:31

    Salut !

    Alors voila, quand je compile m'est fichier sa me met la ligne :

    #include "main.h"


    en rouge et sa veut plus compiller :)

    main.c
    #include <stdio.h>
    #include <stdlib.h>
    #include "main.h"

    int main(int argc, char *argv[])
    {
      personne Theotime;
     
      scanf("%s", Theotime.nom);
      scanf("%s", Theotime.prenom);
      scanf("%s", Theotime.adresse);
      scanf("%s", Theotime.pays);
      scanf("%s", Theotime.ville);
      scanf("%s", Theotime.codePostal);
      scanf("%s", Theotime.telephone);
      scanf("%s", Theotime.webSite);
      scanf("%s", Theotime.eMail);
      scanf("%s", Theotime.pseudo);
     
      scanf("%s", Theotime.anneeNaissance);
      scanf("%s", Theotime.moisNaissance);
      scanf("%s", Theotime.jourNaissance);
      scanf("%s", Theotime.heureNaissance);
      scanf("%s", Theotime.minuteNaisssance);
     
     
      system("PAUSE>NUL")
      return 0;
    }


    main.h
    #ifndef MAIN.H
    #define MAIN.H

    #define CHAR_TABLE 90
    #define INT_TABLE 5

    typedef struct personne personne;
    struct personne
    {
           char nom[CHAR_TABLE] = {0};
           char prenom[CHAR_TABLE] = {0};
           char adresse[CHAR_TABLE] = {0};
           char telephone[CHAR_TABLE] = {0};
           char pays[CHAR_TABLE] = {0};
           char ville[CHAR_TABLE] = {0};
           char codePostal[CHAR_TABLE] = {0};
           char webSite[CHAR_TABLE] = {0};
           char eMail[CHAR_TABLE] = {0};
           char pseudo[CHAR_TABLE] = {0};
           
           int anneeNaissance;
           int moisNaissance;
           int jourNaissance;
           int heureNaissance;
           int minuteNaissance;
    }

    #endif





    Ou est l'erreur ?

    Merci :)
    • Partager sur Facebook
    • Partager sur Twitter
      17 février 2006 à 10:13:53

      Et le message d'erreur, c'est ?
      • Partager sur Facebook
      • Partager sur Twitter
        17 février 2006 à 10:24:02

        ba y en a plein ... et pour recopier tout ça :)

        Merci :)
        • Partager sur Facebook
        • Partager sur Twitter
          17 février 2006 à 10:26:37

          Tiens :
          #include <stdio.h>
          #include <stdlib.h>
          #define CHAR_TABLE 90
          #define INT_TABLE 5
          typedef struct personne personne;
          struct personne
          {
                 char nom[CHAR_TABLE];
                 char prenom[CHAR_TABLE];
                 char adresse[CHAR_TABLE];
                 char telephone[CHAR_TABLE];
                 char pays[CHAR_TABLE];
                 char ville[CHAR_TABLE];
                 char codePostal[CHAR_TABLE];
                 char webSite[CHAR_TABLE];
                 char eMail[CHAR_TABLE];
                 char pseudo[CHAR_TABLE];
                 
                 int anneeNaissance;
                 int moisNaissance;
                 int jourNaissance;
                 int heureNaissance;
                 int minuteNaissance;
          };


          int main()
          {
           
           
           
            personne Theotime;
           
            scanf("%s", Theotime.nom);
            scanf("%s", Theotime.prenom);
            scanf("%s", Theotime.adresse);
            scanf("%s", Theotime.pays);
            scanf("%s", Theotime.ville);
            scanf("%s", Theotime.codePostal);
            scanf("%s", Theotime.telephone);
            scanf("%s", Theotime.webSite);
            scanf("%s", Theotime.eMail);
            scanf("%s", Theotime.pseudo);
           
            scanf("%d", Theotime.anneeNaissance);
            scanf("%d", Theotime.moisNaissance);
            scanf("%d", Theotime.jourNaissance);
            scanf("%d", Theotime.heureNaissance);
            scanf("%d", Theotime.minuteNaissance);
           
           
            system("PAUSE");
            return 0;
          }

          J'ai tout mis dans un fichier parce que je suis flemmard :p

          • Partager sur Facebook
          • Partager sur Twitter
            17 février 2006 à 10:37:42

            Sa marche mais je le veut dans 2 fichiers :)

            Merci :)
            • Partager sur Facebook
            • Partager sur Twitter
            Anonyme
              17 février 2006 à 10:45:51

              En fait c'est surtout qu'il ne faut pas mettre d'initialisations directement dans la déclaration de la structure. Willy_Paper a recopié le code du .h mais a aussi changé ça donc ça marche.

              Exemple, dans une struct on met pas
              char nom[CHAR_TABLE] = {0};
              Mais :
              char nom[CHAR_TABLE];
              • Partager sur Facebook
              • Partager sur Twitter
                17 février 2006 à 10:51:53

                quand j'enleve les = {0};
                Sa fait toujours le meme erreur, mais quand je met les .h dans le .c sa marche .... o_O

                Quand j'enleve les

                #ifndef MAIN.H
                #define MAIN.H

                et #endif

                du .h

                Sa me met plus la ligne #include "main.h" en rouge mais le { de main()
                • Partager sur Facebook
                • Partager sur Twitter
                Anonyme
                  17 février 2006 à 10:57:39

                  En fait tu as oublié le ; à la fin de la déclaration de structure :D et ce Willy_Paper a recopié le .h dans le .c en l'ajoutant, donc ça marche, mais si tu le mets dans le .h ça marchera aussi, juste pas oublier le ; à la fin d'une structure ;)
                  • Partager sur Facebook
                  • Partager sur Twitter
                  Anonyme
                    17 février 2006 à 10:59:43

                    Il manquait un POINT-VIRGULE après ta structure dans le .h !!

                    Juste une question : à quoi sert le INT_TABLE ? Et le MAIN.H ??


                    EDIT : Ah ! louisclem aura été plus rapide :D
                    • Partager sur Facebook
                    • Partager sur Twitter
                    Anonyme
                      17 février 2006 à 11:21:05

                      En fait ça nous serait utile le message d'erreur :-°

                      Autre suggestion : le define MAIN.H évites de mettre un . dans le nom, écris plutôt MAIN_H
                      • Partager sur Facebook
                      • Partager sur Twitter

                      Probleme #include "main.h"

                      × 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