john_cc
Messages postés10Date d'inscriptionsamedi 7 janvier 2006StatutMembreDernière intervention10 janvier 2006
-
9 janv. 2006 à 17:02
john_cc
Messages postés10Date d'inscriptionsamedi 7 janvier 2006StatutMembreDernière intervention10 janvier 2006
-
9 janv. 2006 à 19:57
Bonsoir,
J'ai de multiples erreurs Incompatible types in assignment que je ne comprends pas quand je compile mon module de saisie dont voici le code :
#include <stdio.h>
#include <stdlib.h>
// 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];
char metier[20];
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");
printf ("Le guerrier qui confere 2 points d'attaque en plus de ce de la race.\n");
// if race !=2
printf ("Le mage qui possede le pouvoir de diviser les points de vie de l'enemie ciblé par 2.\n");
// if race !=3
printf ("Le pretre lui à la capacité de soigner entierement un membre de son equipe.\n");
printf ("alors lequels allez vous choisir \n 1: Le guerrier \n 2: Le mage \n 3: Le pretre \n");
scanf ("%d", &choix);
switch(choix)
{
case 1: printf ("\n Vous avez decider de jouer un Guerrier.\n");
break;
case 2: printf ("\n Vous avez decider de jouer un mage. Le monde de la magie s'ouvre à vous.\n");
break;
case 3: 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 ()
{
int race;
printf("choixrace");
//ici sera decrit chacune des races proposŽ dans notre jeu
// le choix est fait par un switch
scanf ("%d", &race);
switch(race)
{
case 1: printf("vous avez choisi les humain");
// et info relative
break;
case 2: printf("vous avez choisi les elfe");
// et info relative
break;
case 3: printf("vous avez choisi les nain") ;
// et info relative
break;
return(race);
}
}
main()
{
int perso = 0;
// structure pour le premier groupe et initialisation de celui ci (saisie des nom) , enregistrement //
/*for (perso = 0; perso <= 0; perso++)*/
// cette boucle for ne sert pour le moment a rien sauf a repeter 2 fois l iniialisation une fois pourchaque group//
// Sauf que etant donnŽ les pointeur sont different cela ne sera pas possible a moin de pointer et d'incrementer//
// Cette fonction pourra etre tentŽ durant la phase d'optimisation//
{
puts ("selectioner un nom du perso\n");
scanf ("%s", &perso1.nom);
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 = 'guerrier';
}
else if (choix == 2)
{
perso1.metier = 256;
}
else perso1.metier = 3864;
//initialisation des point de vie et point d attaque de chaque personnage en fonction de la race
if (race 1) {perso1.pv 2 ; perso1.pa = 2;}
else if (race 2) {perso1.pv 2 ; perso1.pa = 2 ;}
else {perso1.pv 2 ; perso1.pa 2 ;}
/* puts ("\n selectionner un metier\n");
scanf ("%s", &perso1.metier);*/
puts ("selectioner un nom du perso\n");
scanf ("%s", &perso2.nom);
//puts ("\n selectionner un metier\n");//
Choixmetier();
printf ("voila choix %d", choix);
if (choix 1) perso2.metier 121 ;
else if (choix 2) perso2.metier 223 ;
else perso2.metier = 3321 ;
//initialisation des point de vie et point d attaque de chaque personnage en fonction de la race
if (race 1) {perso2.pv 2 ; perso2.pa = 2;}
else if (race 2) {perso2.pv 2 ; perso2.pa = 2 ;}
else {perso2.pv 2 ; perso2.pa 2 ;}
// scanf ("%s", &perso2.metier);//
puts ("selectioner un nom du perso\n");
scanf ("%s", &perso3.nom);
//puts ("\n selectionner un metier\n");//
Choixmetier();
printf ("voila choix %d", choix);
if (choix 1) perso3.metier 151 ;
else if (choix 2) perso3.metier 2564 ;
else perso3.metier = 325;
//initialisation des point de vie et point d attaque de chaque personnage en fonction de la race
if (race 1) {perso3.pv 2 ; perso3.pa = 2;}
else if (race 2) {perso3.pv 2 ; perso3.pa = 2 ;}
else {perso3.pv 2 ; perso3.pa 2 ;}
//scanf ("%s", &perso3.metier);//
puts ("selectioner un nom du perso\n");
scanf ("%s", &perso4.nom);
//puts ("\n selectionner un metier\n");//
Choixmetier();
printf ("voila choix %d", choix);
if (choix 1) perso4.metier 1 ;
else if (choix 2) perso4.metier 2 ;
else perso4.metier = 3 ;
//initialisation des point de vie et point d attaque de chaque personnage en fonction de la race
if (race 1) {perso4.pv 2 ; perso4.pa = 2;}
else if (race 2) {perso4.pv 2 ; perso4.pa = 2 ;}
else {perso4.pv 2 ; perso4.pa 2 ;}
//scanf ("%s", &perso4.metier);//
puts ("selectioner un nom du perso\n");
scanf ("%s", &perso5.nom);
//puts ("\n selectionner un metier\n");//
Choixmetier();
printf ("voila choix %d", choix);
if (choix 1) perso5.metier 1 ;
else if (choix 2) perso5.metier 2 ;
else perso5.metier = 3 ;
//initialisation des point de vie et point d attaque de chaque personnage en fonction de la race
if (race 1) {perso5.pv 2 ; perso5.pa = 2;}
else if (race 2) {perso5.pv 2 ; perso5.pa = 2 ;}
else {perso5.pv 2 ; perso5.pa 2 ;}
//scanf ("%s", &perso5.metier);//
puts ("affichons nos precedent choix\n");
printf ("\n le nom de perso 1 est %s\n", perso1.nom);
printf ("\n le metier de perso 1 est %d\n", perso1.metier);
printf ("\n le nom de perso 2 est %s\n", perso2.nom);
printf ("\n le metier de perso 2 est %d\n", perso2.metier);
printf ("\n le nom de perso 3 est %s\n", perso3.nom);
printf ("\n le metier de perso 3 est %d\n", perso3.metier);
printf ("\n le nom de perso 4 est %s\n", perso4.nom);
printf ("\n le metier de perso 4 est %d\n", perso4.metier);
printf ("\n le nom de perso 5 est %s\n", perso5.nom);
printf ("\n le metier de perso 5 est %d\n", perso5.metier);
// initialisationn du deuxieme groupe de la meme facon ke le premier .//
Gendal67
Messages postés627Date d'inscriptionmercredi 16 juin 2004StatutMembreDernière intervention24 juillet 20112 9 janv. 2006 à 19:50
perso1.metier = "guerrier" <<<< je suis scared à vie là! mdr! Nan sans déconner, ça c'est sur que ça ne passe pas...il faut faire du strcmp() (cf msdn) pour tester ça...corrige déja ça
john_cc
Messages postés10Date d'inscriptionsamedi 7 janvier 2006StatutMembreDernière intervention10 janvier 2006 9 janv. 2006 à 17:09
Désolé pour les deux autres post, j'ai dû faire une fausse manip.
Mon code :
#include <stdio.h>
#include <stdlib.h>
// 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];
char metier[20];
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");
printf ("Le guerrier qui confere 2 points d'attaque en plus de ce de la race.\n");
// if race !=2
printf ("Le mage qui possede le pouvoir de diviser les points de vie de l'enemie ciblé par 2.\n");
// if race !=3
printf ("Le pretre lui à la capacité de soigner entierement un membre de son equipe.\n");
printf ("alors lequels allez vous choisir \n 1: Le guerrier \n 2: Le mage \n 3: Le pretre \n");
scanf ("%d", &choix);
switch(choix)
{
case 1: printf ("\n Vous avez decider de jouer un Guerrier.\n");
break;
case 2: printf ("\n Vous avez decider de jouer un mage. Le monde de la magie s'ouvre à vous.\n");
break;
case 3: 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 ()
{
int race;
printf("choixrace");
//ici sera decrit chacune des races proposŽ dans notre jeu
// le choix est fait par un switch
scanf ("%d", &race);
switch(race)
{
case 1: printf("vous avez choisi les humain");
// et info relative
break;
case 2: printf("vous avez choisi les elfe");
// et info relative
break;
case 3: printf("vous avez choisi les nain") ;
// et info relative
break;
return(race);
}
}
main()
{
int perso = 0;
// structure pour le premier groupe et initialisation de celui ci (saisie des nom) , enregistrement //
/*for (perso = 0; perso <= 0; perso++)*/
// cette boucle for ne sert pour le moment a rien sauf a repeter 2 fois l iniialisation une fois pourchaque group//
// Sauf que etant donnŽ les pointeur sont different cela ne sera pas possible a moin de pointer et d'incrementer//
// Cette fonction pourra etre tentŽ durant la phase d'optimisation//
{
puts ("selectioner un nom du perso\n");
scanf ("%s", &perso1.nom);
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 = 'guerrier';
}
else if (choix == 2)
{
perso1.metier = 256;
}
else perso1.metier = 3864;
//initialisation des point de vie et point d attaque de chaque personnage en fonction de la race
if (race 1) {perso1.pv 2 ; perso1.pa = 2;}
else if (race 2) {perso1.pv 2 ; perso1.pa = 2 ;}
else {perso1.pv 2 ; perso1.pa 2 ;}
/* puts ("\n selectionner un metier\n");
scanf ("%s", &perso1.metier);*/
puts ("selectioner un nom du perso\n");
scanf ("%s", &perso2.nom);
//puts ("\n selectionner un metier\n");//
Choixmetier();
printf ("voila choix %d", choix);
if (choix 1) perso2.metier 121 ;
else if (choix 2) perso2.metier 223 ;
else perso2.metier = 3321 ;
//initialisation des point de vie et point d attaque de chaque personnage en fonction de la race
if (race 1) {perso2.pv 2 ; perso2.pa = 2;}
else if (race 2) {perso2.pv 2 ; perso2.pa = 2 ;}
else {perso2.pv 2 ; perso2.pa 2 ;}
// scanf ("%s", &perso2.metier);//
puts ("selectioner un nom du perso\n");
scanf ("%s", &perso3.nom);
//puts ("\n selectionner un metier\n");//
Choixmetier();
printf ("voila choix %d", choix);
if (choix 1) perso3.metier 151 ;
else if (choix 2) perso3.metier 2564 ;
else perso3.metier = 325;
//initialisation des point de vie et point d attaque de chaque personnage en fonction de la race
if (race 1) {perso3.pv 2 ; perso3.pa = 2;}
else if (race 2) {perso3.pv 2 ; perso3.pa = 2 ;}
else {perso3.pv 2 ; perso3.pa 2 ;}
//scanf ("%s", &perso3.metier);//
puts ("selectioner un nom du perso\n");
scanf ("%s", &perso4.nom);
//puts ("\n selectionner un metier\n");//
Choixmetier();
printf ("voila choix %d", choix);
if (choix 1) perso4.metier 1 ;
else if (choix 2) perso4.metier 2 ;
else perso4.metier = 3 ;
//initialisation des point de vie et point d attaque de chaque personnage en fonction de la race
if (race 1) {perso4.pv 2 ; perso4.pa = 2;}
else if (race 2) {perso4.pv 2 ; perso4.pa = 2 ;}
else {perso4.pv 2 ; perso4.pa 2 ;}
//scanf ("%s", &perso4.metier);//
puts ("selectioner un nom du perso\n");
scanf ("%s", &perso5.nom);
//puts ("\n selectionner un metier\n");//
Choixmetier();
printf ("voila choix %d", choix);
if (choix 1) perso5.metier 1 ;
else if (choix 2) perso5.metier 2 ;
else perso5.metier = 3 ;
//initialisation des point de vie et point d attaque de chaque personnage en fonction de la race
if (race 1) {perso5.pv 2 ; perso5.pa = 2;}
else if (race 2) {perso5.pv 2 ; perso5.pa = 2 ;}
else {perso5.pv 2 ; perso5.pa 2 ;}
//scanf ("%s", &perso5.metier);//
puts ("affichons nos precedent choix\n");
printf ("\n le nom de perso 1 est %s\n", perso1.nom);
printf ("\n le metier de perso 1 est %d\n", perso1.metier);
printf ("\n le nom de perso 2 est %s\n", perso2.nom);
printf ("\n le metier de perso 2 est %d\n", perso2.metier);
printf ("\n le nom de perso 3 est %s\n", perso3.nom);
printf ("\n le metier de perso 3 est %d\n", perso3.metier);
printf ("\n le nom de perso 4 est %s\n", perso4.nom);
printf ("\n le metier de perso 4 est %d\n", perso4.metier);
printf ("\n le nom de perso 5 est %s\n", perso5.nom);
printf ("\n le metier de perso 5 est %d\n", perso5.metier);
// initialisationn du deuxieme groupe de la meme facon ke le premier .//
Gendal67
Messages postés627Date d'inscriptionmercredi 16 juin 2004StatutMembreDernière intervention24 juillet 20112 9 janv. 2006 à 18:30
...
C'est un bug d'affichage chez moi ou ... ?!? Parce que comme ça ni moi ni personne n'essaiera même de lire...c'est illisible!
Je veux bien t'aider mais corrige ce bug....indente ton code...
Vous n’avez pas trouvé la réponse que vous recherchez ?
john_cc
Messages postés10Date d'inscriptionsamedi 7 janvier 2006StatutMembreDernière intervention10 janvier 2006 9 janv. 2006 à 18:58
Meric pour votre aide.
Oups, désolé, il y a eu un bug.
Voici mon code :
#include <stdio.h>
#include <stdlib.h>
// 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];
char metier[20];
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");
printf ("Le guerrier qui confere 2 points d'attaque en plus de ce de la race.\n");
// if race !=2
printf ("Le mage qui possede le pouvoir de diviser les points de vie de l'enemie ciblé par 2.\n");
// if race !=3
printf ("Le pretre lui à la capacité de soigner entierement un membre de son equipe.\n");
printf ("alors lequels allez vous choisir \n 1: Le guerrier \n 2: Le mage \n 3: Le pretre \n");
scanf ("%d", &choix);
switch(choix)
{
case 1: printf ("\n Vous avez decider de jouer un Guerrier.\n");
break;
case 2: printf ("\n Vous avez decider de jouer un mage. Le monde de la magie s'ouvre à vous.\n");
break;
case 3: 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 ()
{
int race;
printf("choixrace");
//ici sera decrit chacune des races propos dans notre jeu
// le choix est fait par un switch
scanf ("%d", &race);
switch(race)
{
case 1: printf("vous avez choisi les humain");
// et info relative
break;
case 2: printf("vous avez choisi les elfe");
// et info relative
break;
case 3: printf("vous avez choisi les nain") ;
// et info relative
break;
return(race);
}
}
main()
{
int perso = 0;
// structure pour le premier groupe et initialisation de celui ci (saisie des nom) , enregistrement //
/*for (perso = 0; perso <= 0; perso++)*/
// cette boucle for ne sert pour le moment a rien sauf a repeter 2 fois l iniialisation une fois pourchaque group//
// Sauf que etant donn les pointeur sont different cela ne sera pas possible a moin de pointer et d'incrementer//
// Cette fonction pourra etre tent durant la phase d'optimisation//
{
puts ("selectioner un nom du perso\n");
scanf ("%s", &perso1.nom);
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 = "guerrier";
}
else if (choix == 2)
{
perso1.metier = 256;
}
else perso1.metier = 3864;
//initialisation des point de vie et point d attaque de chaque personnage en fonction de la race if (race 1) {perso1.pv 2 ; perso1.pa = 2;} else if (race 2) {perso1.pv 2 ; perso1.pa = 2 ;} else {perso1.pv 2 ; perso1.pa 2 ;}
/* puts ("\n selectionner un metier\n");
scanf ("%s", &perso1.metier);*/
puts ("selectioner un nom du perso\n");
scanf ("%s", &perso2.nom);
//puts ("\n selectionner un metier\n");//
Choixmetier();
printf ("voila choix %d", choix); if (choix 1) perso2.metier 121 ; else if (choix 2) perso2.metier 223 ;
else perso2.metier = 3321 ;
//initialisation des point de vie et point d attaque de chaque personnage en fonction de la race if (race 1) {perso2.pv 2 ; perso2.pa = 2;} else if (race 2) {perso2.pv 2 ; perso2.pa = 2 ;} else {perso2.pv 2 ; perso2.pa 2 ;}
// scanf ("%s", &perso2.metier);//
puts ("selectioner un nom du perso\n");
scanf ("%s", &perso3.nom);
//puts ("\n selectionner un metier\n");//
Choixmetier();
printf ("voila choix %d", choix); if (choix 1) perso3.metier 151 ; else if (choix 2) perso3.metier 2564 ;
else perso3.metier = 325;
//initialisation des point de vie et point d attaque de chaque personnage en fonction de la race if (race 1) {perso3.pv 2 ; perso3.pa = 2;} else if (race 2) {perso3.pv 2 ; perso3.pa = 2 ;} else {perso3.pv 2 ; perso3.pa 2 ;}
//scanf ("%s", &perso3.metier);//
puts ("selectioner un nom du perso\n");
scanf ("%s", &perso4.nom);
//puts ("\n selectionner un metier\n");//
Choixmetier();
printf ("voila choix %d", choix); if (choix 1) perso4.metier 1 ; else if (choix 2) perso4.metier 2 ;
else perso4.metier = 3 ;
//initialisation des point de vie et point d attaque de chaque personnage en fonction de la race if (race 1) {perso4.pv 2 ; perso4.pa = 2;} else if (race 2) {perso4.pv 2 ; perso4.pa = 2 ;} else {perso4.pv 2 ; perso4.pa 2 ;}
//scanf ("%s", &perso4.metier);//
puts ("selectioner un nom du perso\n");
scanf ("%s", &perso5.nom);
//puts ("\n selectionner un metier\n");//
Choixmetier();
printf ("voila choix %d", choix); if (choix 1) perso5.metier 1 ; else if (choix 2) perso5.metier 2 ;
else perso5.metier = 3 ;
//initialisation des point de vie et point d attaque de chaque personnage en fonction de la race if (race 1) {perso5.pv 2 ; perso5.pa = 2;} else if (race 2) {perso5.pv 2 ; perso5.pa = 2 ;} else {perso5.pv 2 ; perso5.pa 2 ;}
//scanf ("%s", &perso5.metier);//
puts ("affichons nos precedent choix\n");
printf ("\n le nom de perso 1 est %s\n", perso1.nom);
printf ("\n le metier de perso 1 est %d\n", perso1.metier);
printf ("\n le nom de perso 2 est %s\n", perso2.nom);
printf ("\n le metier de perso 2 est %d\n", perso2.metier);
printf ("\n le nom de perso 3 est %s\n", perso3.nom);
printf ("\n le metier de perso 3 est %d\n", perso3.metier);
printf ("\n le nom de perso 4 est %s\n", perso4.nom);
printf ("\n le metier de perso 4 est %d\n", perso4.metier);
printf ("\n le nom de perso 5 est %s\n", perso5.nom);
printf ("\n le metier de perso 5 est %d\n", perso5.metier);
// initialisationn du deuxieme groupe de la meme facon ke le premier .//