Partage
  • Partager sur Facebook
  • Partager sur Twitter

compilateur qui déraille ???

Sujet résolu
    8 mai 2006 à 15:51:39

    Voila, j'ai commencé de programmer un jeu, et lors d'une compilation pour voir si ce que j'avais déja fait fonctionnait, ca met des tas d'erreur... Soit, j'ai donc regardé ces erreurs, mais le probleme c'est que je n'en voit vraiment aucune, meme en auant repris le cours... Voila a quoi mon code ressemble :

    le main :
    #include <stdlib.h>
    #include <stdio.h>
    #include <SDL/SDL.h>
    #include <SDL/SDL_image.h>

    #include "structures.h"
    #include "carte.h"


    int main(int argc, char *argv[])
    {
        long numero = 1;
        InfoCase tableau[100][100];
        chargementCarte(numero, tableau);
        return EXIT_SUCCESS;
    }


    le structures.h :
    typedef struct InfoCase InfoCase;
    struct InfoCase
    {
        long typeTerrain;
        long franchissable;
        long typeUnite;
        long equipeUnite;
    };


    et le carte.c ou il y a apparement des tas de bug :
    void chargementCarte(long numeroCarte, InfoCase *carte)
    {
        long x = 0, y = 0;
        FILE* fichierCarte = NULL;
        switch(numeroCarte)
        {
            case 1:
            fichierCarte = fopen("cartes/carte1.carte", "r");
            break;
            case 2:
            fichierCarte = fopen("cartes/carte2.carte", "r");
            break;
            case 3:
            fichierCarte = fopen("cartes/carte3.carte", "r");
            break;
        }
        if(fichierCarte != NULL)
        {
            rewind(fichierCarte);
            for(y = 1 ; y != 15 ; y++)
            {
                for(x = 1 ; x != 18 ; x++)
                {
                    fscanf(fichierCarte, " %ld %ld", carte[x][y].typeTerrain, carte[x][y].franchissable);
                    carte[x][y].typeUnite = 0;
                    carte[x][y].equipeUnite = 0;
                }
            }
        }
        else
        {
            quit(0);
        }
    }


    et le carte.h :
    void chargementCarte(long numeroCarte, InfoCase *carte);


    je ne comprend pas ou il y a des erreurs... les fichiers existent, tous les .dll sont a leur place, etc...
    par exemple il met met "FILE" undeclared, "fichierCarte" undeclared alors qu'ils sont pourtant bien déclaré... J'y pige que dale...
    • Partager sur Facebook
    • Partager sur Twitter
    Anonyme
      8 mai 2006 à 15:53:06

      faut inclure les fichiers du genre stdio, stdlib... (la libc quoi) dont tu te sert dans tous les fichiers .c
      je précise: gcc marche bien, c'est ton code qui est pas bon
      • Partager sur Facebook
      • Partager sur Twitter
        8 mai 2006 à 15:57:03

        ou la la... je suis vraiment fatigué moi...lol :D Merci beaucoup... ^^

        Mais il me reste une erreur lors des lignes
                        fscanf(fichierCarte, " %ld %ld", carte[x][y].typeTerrain, carte[x][y].franchissable);
                        carte[x][y].typeUnite = 0;
                        carte[x][y].equipeUnite = 0;


        Il me signale 4 fois "subscripted value is neither array nor pointer"

        Pourtant si dans le main je fait directement
        carte[x][y].typeUnite = 0;
                        carte[x][y].equipeUnite = 0;

        cela fonctionne...
        • Partager sur Facebook
        • Partager sur Twitter

        compilateur qui déraille ???

        × 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