Partage
  • Partager sur Facebook
  • Partager sur Twitter

Erreur à la compilation

Header créés

Sujet résolu
    2 décembre 2020 à 17:37:10

    Bonjour,

    Dans le cadre d'un projet scolaire en langage C, je dois créer un programme qui va gérer la gestion d'un camping, dans les grandes lignes.

    J'ai donc créé plusieurs .h qui contiennent les structures pour les clients, sejour, emplacement et employes. J'ai réalisé les imports dans le Main.c mais lorsque je compile pour voir si je peux avancer correctement, j'ai cette erreur : 

    (Les noms des fichiers et chemins sont cachés car ils contiennent les noms de familles des personnes présentes dans le groupe).

    après plusieurs essais et relecture des différents code, je n'ai pas réussi à trouver la source de l'erreur ?

    Voici les différents codes :

    Main.c

    #include <stdio.h>
    #include <string.h>
    #include "emplacement.h"
    #include "sejour.h"
    #include "client.h"
    #include "employe.h"
    
    void main(){
    	client i;
    	strcpy(i.nom,"ok");
    	printf("%5s",i.nom);
    }

    emplacement.h :

    typedef struct emplacement{
    	short type;							//1 pour tente , 2 pour caravane, 3 pour bungalow
    	short electricite;							//1 s'il y a la possibilité d'avoir l'électricité, 0 si non
    	float taille;						//taille de l'emplacement 
    	float prix;							//prix de l'emplacement
    }emplacement;

    sejour.h :

    #include "emplacement.h"
    
    //définition d'un séjour
    typedef struct sejour{
    	short formule;						//1 pour tente , 2 pour caravane, 3 pour bungalow
    	short nbPersonne;					//nombre de personnes pour qui
    	char date[11];						//sous le format dd/mm/yyyy
    	float prix;							//prix du séjour
    	short electricite;					//1 si il faut de l'électricité, 0 si non
    	struct sejour *nxtSej;
    	struct emplacement place;
    }sejour;

    client.h :

    #include "sejour.h"
    
    //définition du client
    typedef struct client {
    	char nom[30];						//nom du client
    	char prenom[30];
    	struct sejour sej;					//pour la liste chainée des séjours du client
    	struct client *nxtClient;			//pour la liste chainée des clients
    }client;

    employe.h :

    typedef struct employe{
    	char nom[30];						//nom de l'employé
    }employe;


    Merci d'avance pour toute aide permettant de trouver la source de l'erreur :).

    -
    Edité par I-Scryper 2 décembre 2020 à 17:44:00

    • Partager sur Facebook
    • Partager sur Twitter
      2 décembre 2020 à 18:04:47

      Tu as des inclusions multiples dans ton code, quelques explication ici : https://fr.wikipedia.org/wiki/Include_guard

      • Partager sur Facebook
      • Partager sur Twitter
        2 décembre 2020 à 18:05:56

        Ca ne devrait pas être trop dur de lire les messages d'erreurs

        • a la ligne tant du fichier machin, redéfinition du type "struct truc"
        • qui est déjà défini ligne chose du fichier bidule.
        Cause : Le problème vient d'une inclusion multiple.
        Remède : Ajouter les "gardes"
        #ifndef EMPLACEMENT_H_INCLUDED
        #define EMPLACEMENT_H_INCLUDED
        
        struct Emplacement {
           ....
        };
        
        
        #endif
        
        • Partager sur Facebook
        • Partager sur Twitter

        Erreur à la compilation

        × 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