Pointeur tableau dynamique et structure

loulou8484 Messages postés 29 Statut Membre -  
loupius Messages postés 789 Statut Membre -
Bonjour,

Voila je dois faire un répertoire avec une structure je crée alors ma fonction ajouteleve

void ajouteleve(struct eleve* tabeleve)
{
int nbr = 0, i = 0;
printf("\n\t\t\t\t AJOUT D'UN ELEVE \n\n");
printf("Combien d'eleve vous aller ajouter?");
scanf("%d",&nbr);
if (nbr >0)
{
struct eleve* tabeleve = malloc(nbr * sizeof(int));
if (tabeleve == NULL)
{
exit(0);
}
for(i=0;i<nbr;i++)
{
printf("Rentrez son Nom (Caractére Max 15)");
scanf("%s",tabeleve[i].nom);
printf("Rentrez son Prenom (Caractére Max 15)");
scanf("%s",tabeleve[i].prenom);
printf("Rentrez sa date de naissance au format jj-mm-anne");
scanf("%s",tabeleve[i].date);
printf("Rentrez son Numero d'etudiant (Caractére Max 12)");
scanf("%s",tabeleve[i].num);
printf("Rentrez sa premiére note)");
scanf("%d",tabeleve[i].note1);
printf("Rentrez sa deuxieme note");
scanf("%d",tabeleve[i].note2);
printf("Rentrez sa troisieme note");
scanf("%d",tabeleve[i].note3);
}
}

}

et je l'appelle de cette maniére ajouteleve(tabeleve);

et j'ai déclaré tabeleve de cette maniére :

int* tabeleve = NULL; dans les declaration

mais j'ai un soucie de cast merci de me donner un coup de main

A voir également:

1 réponse

loupius Messages postés 789 Statut Membre 148
 
Légère incohérence:
struct eleve* tabeleve = malloc(nbr * sizeof(int));
et
int* tabeleve = NULL;

Il me semble plus logique de déclarer:
struct eleve* tabeleve = NULL;
puis
tabeleve = malloc(nbr * sizeof(struct eleve));
Bonne continuation
0