Bonjour,
Je dois programmer un jeu de Yathzee pour un projet de fac en C, et j'ai un petit problème concernant une déclaration dynamique d'un tableau de structure. Je m'explique :
J'ai deux structure (dans deux fichier .C différent)

La première :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
struct FeuilleScore {  
int partieSuperieure [9];  
int partieInferieure [7];  
int scoreFinal;  
};
(j'ai mis dans un fichier .h correspondant : struct feuilleScore

et la deuxieme :
(j'ai mis en début de fichier #include "ProjetB.h" (c'est le .h du fichier .c où j'ai déclaré ma structure feuilleScore))

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
struct Joueur {  
char* nom;  
int nblancerRestants;  
int Des [5]; //les dés du joueur (5 dés)  
struct FeuilleScore;  
};
Le but est de créer le bon nombre de structures Joueur (une pour chaque joueurs de la partie).

j'ai donc fait cette petite fonction :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 struct Joueur* nombreJoueurs(void){  
 int nombreJoueurs;  
 printf("Combien de joueurs vont participer a la partie ? (1/2/3/...)");  
 scanf("%d",&nombreJoueurs);  
    struct Joueur* tab;  
    tab = malloc(sizeof(tab) * nombreJoueurs);  
    return tab;  
}
jusque là pas de problèmes.
Puis j'ai fais une fonction qui permet d'associer a chaque structures Joueurs le nom du joueur

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
void nomJoueurs (struct Joueur * tab) {  
    int i = 0;  
    for(i;i<sizeof(tab);i++){  
        printf("Nom du joueur %d ? ",i+1);  
        scanf("%s",tab[i].nom);  
    }  
}
sauf qu'a partir de là ... ça ne marche plus du tout, peut importe le nombre de joueurs , mon nomJoueurs me propose toujours le nom de deux joueurs a mètre, et ensuite windows me dit que mon programme a cessé de fonctionner.

Je pense donc que le problème vient de mon allocation dynamique de ma structure. Dois-je faire la même chose pour la structure FeuilleScore qui est dans la structure Joueur ?

Merci d'avance