Problème avec les modules en C [urgent]

john_cc Messages postés 10 Date d'inscription samedi 7 janvier 2006 Statut Membre Dernière intervention 10 janvier 2006 - 10 janv. 2006 à 15:42
BunoCS Messages postés 15472 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 25 mars 2024 - 11 janv. 2006 à 12:09
Bonsoir,


Merci, c'est bon, j'ai reglé mon précédent problème.
J'ai encore un problème.
J'ai 2 modules : un pour la saisie, un pour le combat.
Quand je veux lancer les fonctions du module de combat depuis le module de combat, j'ai des erreurs du style : perso1' undeclared (first use in this function). Pourtant, mes structures perso1.nom, perso1.pv... fonctionnent bien dans le module de saisie et j'ai pourtant bien pris soin d'inclure battle.c (mon module de combat).


Le code de mon module de saisie :



#include
#include
#include
#include "battle.c"


// prototype de la stucture archivant les données sur les combattants//


int race;
int choix;
char guerrier;
char pretre;
char mage;


struct combattant
{ char nom[20];
int metier;
int pv;
int pa;
int sortmage;
int sortpretre;
};



// fonction qui permetra le choix du metier//
int Choixmetier()
{


printf ("\n Dans ce univers d'heroic-fantasy il existe plusieur type de personnage .\n\n");
printf ("Le guerrier qui confere 2 points d'attaque en plus de ce de la race.\n\n");
if (race != 2)
{
printf ("Le mage qui possede le pouvoir de diviser \n les points de vie de l'enemie ciblé par 2.\n\n");
}
if (race != 3)
{
printf ("Le pretre lui à la capacité de soigner entierement un membre de son equipe.\n\n");
}
printf ("alors lequels allez vous choisir ?\n\n");

printf (" 1 : Le guerrier.\n\n ");
if (race !=2)
{
printf (" 2 : Le mage \n\n ");
}
if (race != 3)
{
printf (" 3 : Le pretre \n\n");
}
scanf ("%d", &choix);
switch(choix)
{
case 1: printf ("\n Vous avez decider de jouer un Guerrier.\n");
break;
case 2: if (race == 2) {printf("\n Vous ne pouvez pas cree un mage elfe\n"); system("pause"); system("cls"); Choixmetier();}
else {printf ("\n Vous avez decider de jouer un mage. Le monde de la magie s'ouvre à vous.\n");}
break;
case 3: if (race == 3) {printf("\n Vous ne pouvez pas cree un nain pretre n'essayez pas de tricher.\n Nyana vous a un l'oeil sur vous.\n"); system("pause"); system("cls"); Choixmetier();}
printf ("\n Vous avez decider de jouer un pretre. Les autres combattants du groupe vous en remercient.\n");
break;

return(0);
}
}


// fonction permetant le choix de la race//
int Choixrace ()
{
puts("\n Desormais il vous faut choisir la race avec laquel vous partirai \n au combat pour permettre le retablissement de l'ordre dans le monde de Nyana");
//ici sera decrit chacune des races proposŽ dans notre jeu
printf("\n 1 : Les Humain possedant 10 points de vie et 3 points d'attaque.\n");
printf("\n 2 : Les Elfes possedant 8 points de vie et 4 points d'attaque.\n");
printf("\n 3 : Les Nains possedant 12 points de vie et 2 points d'attaque.\n");
// le choix est fait par un switch
scanf ("%d", &race);
switch(race)
{
case 1: printf("vous avez choisi les Humains \n ");
// et info relative
break;
case 2: printf("vous avez choisi les Elfes \n ");
// et info relative
break;
case 3: printf("vous avez choisi les Nains \n ") ;
// et info relative
break;


return(0);


}
}



main()
{
// Voila la description de l'ambiance du jeu.
puts(" Bienvenue dans Le Monde de Nyana\n\n\n\n");
puts(" Il y a fort longtemps dans une lointaine contre, \n oublie du monde connu depuis des temps immemoriaux .");
puts(" Magie, courage, vaillance, mais aussi cruaute, desespoir et perfidie .\n Telle furent les lois qui regissent ce monde : Le Fabuleux Monde de Nyana \n\n\n");
puts(" Ce monde etais peuple de toutes sortes de creatures aussi belle \n pour les une qu'abject pour les autres.\n ");
puts(" Les Humains, Les elfes, Les Nains gouvernerent ce monde en harmonie \n durant des millenaires.\n Les Humains fragiles mais determiner viverent dans les plaines.\n Les elfes etais la race la plus inteligente de toutes,\n elle vivais en harmonie avec la nature \n principalement dans les forets et pres des oceans.\n Les Nains etais solide et harnieux passer leur temps \n dans le montagne pour en prelever les matieres les plus precieuses.\n");
puts(" Seulement cette equilibre est voué à etre rompu .\n Si Nyana, createur de ce monde, represente tous \n ce qu'il y avais plus beau dans ce monde.\n Romain represente tous ce qu'il pouvais y avoir de malefique,\n il naquit a la creation de ce monde, c'etais la noir parti de Nyana.\n");
puts(" Il n'avais pour obsession que de s'empare du Monde de Nyana.\n Et pour ce faire à monter les races une contre les autre.\n");
puts(" Les Humains malgres leur fragilité posseder un courage infaillible \n qui compensa leur faible aptitude. Guerriers, puissant au corp a corp,\n Mages, s'averant tres efficace en debt de combat \n et pretres, pouvant soigne ses compagnons,\n constitue le plus grand de leur troupe.\n");
puts(" Les elfes etais naturelement de tres bon combattant de ce fait \n leur armees se constituer exclusivement de guerriers ainsi que de pretres.\n");
puts(" Les Nains quant à eux etais robuste et puissant \n mais toutefois sachant maitrise la magie par l'intermediaire \n de rune puissante cree grace au materiaux les plus rares . \n Leur corp de combattant se constituer soit de mage, \n soit de guerrier, soit des deux .\n");
system("PAUSE");
system("CLS");
puts("\nEt maintenant passons au choix de notre équipe de combattant\n");
int perso = 0;
// structure pour le premier groupe et initialisation de celui ci (saisie des nom) , enregistrement //
/*for (perso = 0; perso

2 réponses

ncoder Messages postés 244 Date d'inscription vendredi 6 mai 2005 Statut Membre Dernière intervention 6 avril 2008 1
10 janv. 2006 à 18:16
/*

PERSO 1

*/
puts ("\n selectioner un nom du perso\n");
scanf ("%s", &perso1.nom); (ici je mettrai &perso1.nom[0] , non?)
Choixmetier();
printf ("voila choix %d", choix);
// If else choisi pour la propreter du programme lors du l'utilisation des instruction if .^^
if (choix == 1)
{
perso1.metier = 1;
}
else if (choix == 2)
{
perso1.metier = 2;
}
else
{
perso1.metier = 3;
}
Pas plus facile de mettre perso1.metier = choix ?

Sinon tu as bien mis struct combattant perso1, il n'y a pas de pb normalement.
Mais si tu veux aucun probleme, tu peux juste réécrire la structure dans le bon fichier !
Et là tout doit bien fonctionner.
0
BunoCS Messages postés 15472 Date d'inscription lundi 11 juillet 2005 Statut Modérateur Dernière intervention 25 mars 2024 103
11 janv. 2006 à 12:09
Pour utiliser une variable x, définie dans un fichier fich1.c, dans un
fichier fich2.c, il faut la déclarer comme "extern" dans ce dernier:



extern int x; // par exemple

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
0
Rejoignez-nous