A voir également:
- C multiple definition of first defined here
- Salaat first - Télécharger - Histoire & Religion
- Here wego - Guide
- Ecran multiple pc - Guide
- Excel cellule choix multiple - Guide
- Salaat first pc - Télécharger - Agendas & Calendriers
7 réponses
Bonjour,
Comme tu peux t'en douter, si ton compilateur signale une erreur, c'est que ton code contient une erreur.
Merci donc de poster ton code et notamment toutes les définitions de ta variable à l'origine de l'erreur.
Comme tu peux t'en douter, si ton compilateur signale une erreur, c'est que ton code contient une erreur.
Merci donc de poster ton code et notamment toutes les définitions de ta variable à l'origine de l'erreur.
#ifndef ACTION_C
#define ACTION_C
Pas besoin dans les .c (puisqu'un .c ne s'inclue pas).
Sinon pour les variables globales, c'est vivement déconseillé de les utiliser de cette façon. Cela s'utilise plutôt pour des constantes. Mais pas pour le reste. Dans ton cas, tu n'as besoin d'aucunes variables globales. Je te conseille donc de revoir ton code.
Par tout hasard, n'aurais-tu pas fait un int i; ou quelque chose de ce genre dans ton main ?
Cdlt,
#define ACTION_C
Pas besoin dans les .c (puisqu'un .c ne s'inclue pas).
Sinon pour les variables globales, c'est vivement déconseillé de les utiliser de cette façon. Cela s'utilise plutôt pour des constantes. Mais pas pour le reste. Dans ton cas, tu n'as besoin d'aucunes variables globales. Je te conseille donc de revoir ton code.
Par tout hasard, n'aurais-tu pas fait un int i; ou quelque chose de ce genre dans ton main ?
Cdlt,
Merci pour la réponse rapide.
voici les .h et le .c qui sont en défaut
quand la fonction de action.c est dans le main.c, ca compile.
fonctions.h:
#ifndef FONCTIONS_H
#define FONCTIONS_H
/****************************************
fonctions
****************************************/
void items(void);
void points(void);
void actionf (void);
void couperdubois (void);
void pecherdupoisson (void);
void coupe (void);
void peche (void);
void manger (void);
void passivite (void);
void load (void);
void save (void);
void delaisms (int ms);
void acheter (void);
void achat (void);
void vendre (void);
void vente (void);
void fabriquer (void);
#endif // FONCTIONS_H_INCLUDED
variablesGlobales.h
#ifndef VARIABLESGLOBALES_H
#define VARIABLESGLOBALES_H
/****************************************
variables globales
****************************************/
FILE* sauvegarde = NULL;
float bucheron = 0;
float pecheur = 0;
int temps = 0;
int hache = 0;
int caneapeche = 0;
int quitter = 0;
int choix = 0;
int bois = 0;
int typePoisson = 0;
int typeBois = 0;
int poissons = 0;
int sommeil = 100;
int energie = 30;
int principal = 0;
int actionb = 0;
float i = 0;
float nombreskills = 4; //nombre de varible d'expérience
int XP = 0;
int niveau = 1;
int argent = 0;
float acheteur = 0;
float vendeur = 0;
#endif // VARIABLESGLOBALES_H_INCLUDED
actions.c
#include <stdio.h>
#include <stdlib.h>
#include "fonctions.h"
#include "variablesGlobales.h"
#ifndef ACTION_C
#define ACTION_C
//Afficher les action disponible si le joueur choisi l'option 6 du menu principal
void actionf(void)
{
actionb = 0;
while (principal == 0 && energie > 0 && sommeil > 0)
{
printf ("Votre niveau de sommeil est %d\nVotre niveau d'energie est %d\n\n", sommeil, energie);
printf ("Quel action voulez vous faire?\n\n");
printf ("1. Revenir au menu principal\n");
printf ("2. manger\n");
printf ("3. Couper du bois\n");
printf ("4. Pecher du poisson\n");
printf ("5. Fabriquer un objet\n");
printf ("6. Vendre un item\n");
if (argent > 0)
{
printf ("7. Acheter un item\n");
}
scanf ("%d",&choix);
switch(choix)
{
case 1:
{
system("cls");
principal = 1;
break;
}
case 2:
{
system("cls");
manger();
break;
}
case 3:
{
system("cls");
couperdubois();
break;
}
case 4:
{
system("cls");
pecherdupoisson();
break;
}
case 5:
{
system("cls");
fabriquer();
break;
}
case 6:
{
system("cls");
vendre();
break;
}
if (argent > 0)
{
case 7:
{
system("cls");
acheter();
break;
}
}
default:
{
printf ("Choisi un nombre ecrit ci-haut/n");
break;
}
}
}
} // actions
#endif
Header du main (il est trop long pour mettre ici)
#include <stdio.h>
#include <stdlib.h>
#include "fonctions.h"
#include "variablesGlobales.h"
voici les .h et le .c qui sont en défaut
quand la fonction de action.c est dans le main.c, ca compile.
fonctions.h:
#ifndef FONCTIONS_H
#define FONCTIONS_H
/****************************************
fonctions
****************************************/
void items(void);
void points(void);
void actionf (void);
void couperdubois (void);
void pecherdupoisson (void);
void coupe (void);
void peche (void);
void manger (void);
void passivite (void);
void load (void);
void save (void);
void delaisms (int ms);
void acheter (void);
void achat (void);
void vendre (void);
void vente (void);
void fabriquer (void);
#endif // FONCTIONS_H_INCLUDED
variablesGlobales.h
#ifndef VARIABLESGLOBALES_H
#define VARIABLESGLOBALES_H
/****************************************
variables globales
****************************************/
FILE* sauvegarde = NULL;
float bucheron = 0;
float pecheur = 0;
int temps = 0;
int hache = 0;
int caneapeche = 0;
int quitter = 0;
int choix = 0;
int bois = 0;
int typePoisson = 0;
int typeBois = 0;
int poissons = 0;
int sommeil = 100;
int energie = 30;
int principal = 0;
int actionb = 0;
float i = 0;
float nombreskills = 4; //nombre de varible d'expérience
int XP = 0;
int niveau = 1;
int argent = 0;
float acheteur = 0;
float vendeur = 0;
#endif // VARIABLESGLOBALES_H_INCLUDED
actions.c
#include <stdio.h>
#include <stdlib.h>
#include "fonctions.h"
#include "variablesGlobales.h"
#ifndef ACTION_C
#define ACTION_C
//Afficher les action disponible si le joueur choisi l'option 6 du menu principal
void actionf(void)
{
actionb = 0;
while (principal == 0 && energie > 0 && sommeil > 0)
{
printf ("Votre niveau de sommeil est %d\nVotre niveau d'energie est %d\n\n", sommeil, energie);
printf ("Quel action voulez vous faire?\n\n");
printf ("1. Revenir au menu principal\n");
printf ("2. manger\n");
printf ("3. Couper du bois\n");
printf ("4. Pecher du poisson\n");
printf ("5. Fabriquer un objet\n");
printf ("6. Vendre un item\n");
if (argent > 0)
{
printf ("7. Acheter un item\n");
}
scanf ("%d",&choix);
switch(choix)
{
case 1:
{
system("cls");
principal = 1;
break;
}
case 2:
{
system("cls");
manger();
break;
}
case 3:
{
system("cls");
couperdubois();
break;
}
case 4:
{
system("cls");
pecherdupoisson();
break;
}
case 5:
{
system("cls");
fabriquer();
break;
}
case 6:
{
system("cls");
vendre();
break;
}
if (argent > 0)
{
case 7:
{
system("cls");
acheter();
break;
}
}
default:
{
printf ("Choisi un nombre ecrit ci-haut/n");
break;
}
}
}
} // actions
#endif
Header du main (il est trop long pour mettre ici)
#include <stdio.h>
#include <stdlib.h>
#include "fonctions.h"
#include "variablesGlobales.h"
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question