Problème avec les pointeurs et les structures
Bonjour,
J'ai un problème avec les pointeur, j'ai vraiment du mal a les manipuler.
Voila j'ai un code avec 1 fonction et 2 procédures ainsi qu'une structure (individu).
Le but est de saisir un individu en indiquant son nom et son age.
Mon problème ce trouve au niveau de la procédure "plusJeunePlusVieux" qui permet de retourner l'individu le plus jeune et le plus vieux.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76
|
#include <stdio.h>
#include <string.h>
#include <malloc.h>
typedef struct Sind
{
char nom[15];
int age;
}individu;
individu saisirindividu()
{
individu ind;
printf("Saisir nom : ");
scanf("%s", &ind.nom);
printf("Saisir age : ");
scanf("%d", &ind.age);
return ind;
}
void saisirTabloInds() //saisir un tableau d'individus
{
char rep;
int i=0;
individu *Tablo=(individu*)malloc(sizeof(individu));
printf("Saisiser les individus\n");
do
{
Tablo[i]=saisirindividu();
printf("Vouler vous continuer (o\\n) : ");
fflush(stdin);
scanf("%c", &rep);
i++;
Tablo=(individu*)realloc(Tablo,sizeof(individu)*(i+1));
}
while(rep=='o');
}
void plusJeunePlusVieux(individu *jeune, individu *vieux, individu *Tablo)
{
jeune.age=Tablo[0].age;
for(int i=1 ; i<20 ; i++)
{
if(jeune.age>Tablo[i].age)
jeune.age=Tablo[i].age;
}
vieux.age=Tablo[0].age;
for(i=1 ; i<20 ; i++)
{
if(vieux.age<Tablo[i].age)
vieux.age=Tablo[i].age;
}
}
void main()
{
individu jeune;
individu *pjeune=&jeune;
individu vieux;
individu *pvieux=&vieux;
saisirTabloInds();
plusJeunePlusVieux(pjeune, pvieux, Tablo);
printf("Le plus jeune : %s", *pjeune.nom);
printf("Le plus vieux : %s", *pvieux.nom);
} |
Le blème c'est la procédure "plusJeunePlusVieux", je passe en paramètre les pointeurs de type individu, et je voudrais recupérer sur ces pointeurs l'élément "age" de la structure individu.
Comment faire lorsque que l'on donne l'adresse d'une structure de récupérer un élément de la structure ?
Les autres fonctions marche impec mais dite moi si la méthode est bonne et si j'ai pas fait de truc qui sert a rien.
Merci de votre aide.
PS: a oui autre petit soucis comment utiliser dans le void main le tableau (Tablo) que j'ai saisis dans la procédure "saisirTabloInds" pour le mettre en paramétre dans "plusJeunePlusVieux".