Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Projet pour travail en groupe [ Divers / Débutant(e) ] (Davy8x)

mardi 27 juin 2006 à 00:37:18 | Projet pour travail en groupe

Davy8x

J'utilise DevC++ et je voudrais découpper un programme en plusieurs fichiers.
Ces fichiers utiliseraient les même variables.
J'ai fait beaucoup d'essaies ( variable extern, fonction inline dans un .h,... )mais je n'arrive pas, à faire quelque chose qui marche.

un exemple bidon :

Dans le programme principale:
main()
{
       initialisation();
       affichage();
       collision();
}

Ces 3 fonctions seraient dans d'autres fichiers mais utiliseraient les mêmes variables.

Merci d'avance pour votre aide.

mardi 27 juin 2006 à 01:03:41 | Re : Projet pour travail en groupe

wxccxw

Membre Club
ben tu les ajoutes au projet , et puis, tu inclu a main.cpp leur .h qui  contient les prototypes. c tout.



mardi 27 juin 2006 à 01:07:28 | Re : Projet pour travail en groupe

wxccxw

Membre Club
par exemple :
fonction.h contient le proto de notre fonction donc : int create(char * i);
puis fonction.cpp tu #include "fonction.h", tu met le vrai corp :
int  create(char * i)
{
return 1;
}

puis pour utiliser create dans ton main.cpp tu ajoute au projet fonction.h et .cpp puis dans main.cpp tu  #include "fonction.h"  et donc tu  peux utiliser create() dans ton main.cpp


mardi 27 juin 2006 à 01:43:08 | Re : Projet pour travail en groupe

SAKingdom

Membre Club
Il veut que ses trois fonctions utilise la même variable. Si ce que BruNews ta recommendé n'a "pas fonctionné" et que c'est absolument nécessaire, bien tu peux toujours passer cette variable en paramètre. Par exemple, tes 3 fonctions utilise dison variable1 donc:

Par exemple:

main()
{
       int variable1 = 0;

       initialisation(&variable1); //Va transmettre une valeur à variable1
       affichage(variable1); //Va afficher variable1
       collision(variable1);  //Detecte un collision
}

Sinon, les extern sont le seul moyen. Si ça ne fonctionne pas c'est que tu ne les utilises pas de la bonne façon. Les extern sont très facile à utiliser reprenon l'exemple de variable1:

// Dans ton fichier main.c
int variable1 = 0; // C'est une variable globale

int main ()
{
    ...
}

// Dans ton fichier contenant tes fonctions qui va s'appeller disons fonction.c
extern int variable1; // Encore une fois déclaré en variable globale

void initialisation ()
{
    int test = variable1;
    ...
}

void affichage ()
{
    int affich = variable1;
    ..
}
etc...

___________________________________________
Les plus grands esprits trouvent toujours une solution


mardi 27 juin 2006 à 12:04:54 | Re : Projet pour travail en groupe

Davy8x

Quand j'utilisais les variables externes comme tu l'as dit le compilateur rapporte des erreurs dans le Linker, d'où peut venir ce problème ?

mardi 27 juin 2006 à 16:27:21 | Re : Projet pour travail en groupe

SAKingdom

Membre Club
C'est la facon dont tu les utilises. Montre moi le bout de code où tu définie un extern et ou tu l'utilise.

___________________________________________
Les plus grands esprits trouvent toujours une solution


mardi 27 juin 2006 à 20:15:55 | Re : Projet pour travail en groupe

Davy8x

Ho ! c'est super !!! en nétoillant le code pour te l'envoyer... ça l'a fait marché c'est magnifique 2 jours de recherche pour ça !!!

Donc le problème que j'avais c'est que je faisais la 1ère definition (celle sans le "extern") dans une fonction alors qu'il fallait la mettre en dehors !

Merci beaucoup pour ton aide

mardi 27 juin 2006 à 20:40:00 | Re : Projet pour travail en groupe

steve_clamage

je te l'aivais expliqué dans l'autre topic

tu fais un fichier my_var.h

#ifndef MY_VAR_H
#define MY_VAR_H
extern int my_var;
#endif

et un my_var.c

#include "my_var.h"
int my_var = 0;

tu ajoute my_var.c a ton projet et tu inclus my_var.h dans tout les sources ou tu en as besoin, c'est si compliqué que ca ?



Cette discussion est classé dans : programme, projet, fichiers, groupe, travail


Répondre à ce message

Sujets en rapport avec ce message

modifier le groupe de travail depuis un programme [ par bloobird0 ] salut à tous, je cherche un moyen de modifier depuis un programme le nomdu groupe de travail d'une machine windows (98). Qqun connait-il une API windo Lister des fichiers [ par deck_bsd ] Bonsoir à tous, Voila j'ai un problème. A un moment dans mon programme je doit lister les fichier contenut dans un dossier, jusque là aucun problème. aide à mon mini projet [ par miss fafa ] boj,je m'inscrit sur ce site parce que je le trouve geniale ,il a quelque chose de speciale  les sources des programmes que je ne les trouve pas ds le Lecture d'un fichier [ par Ombitious_Developper ] salut:J'ai écrit un programme C qui lit le contenu d'un fichier donné.Le programme tourne bien avec les fichiers (*.txt) mais c'est ne pas le cas a transfert de fichiers sous linux [ par lyas ] Salut,Je suis debutante en programation reseau et je voudrais transferer des fichiers via un serveur sous linux.j'ai reperé un programme posté par se Comment copier un fichier .H et un fichier.CPP d'un programme à un autre [ par soamie2001 ] Salut à vous,J'ai ecris un programme x en C++ sous visual studio.net qui comprend des fichiers H et des fichiers CPP.Manitenant j'ecris un programme y Connaitre le chemin [ par ipascual ] Bonjour a tous,Je suis en train de construir un programme en C++, et j`aimerais pouvoir lancer a partir de mon programme des fichiers executables. Les Problème avec environnement Dev-C++ [ par bovix ] Bonsoir à tous, Me revoici avec une nouvelle question sur le C, plutot sur l'utilisation d'un environnement. Voilà je travaille avec le programme Dev- Méthode MPM [ par skins_baller971 ] Salut,Ben j'ai besoin d'aide j'ai un projet a faire, et je doit concepter la métode MPM en C. J'ai déja vu celui sur le site mais c'est trop complexe,


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,390 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.