Salut et bienvenue sur les forums de developpez.com :P
En fait, ce que tu as fait là, c'est de mettre une simple variable du type de ta structure en argument à la fonction mais pour un tableau, il faut que ton argument soit au moins un pointeur
(plusieures pratique possible mais je préfère celle là) donc, voici ta fonction:
Code:
void afficher_villes(geo * t, size_t size)
Je t'ai mis un second argument car les tableaux en C ne connaissent pas leur propre taille, il faut donc donner l'info à la fonction qui va traiter ton tableau !
Ici je vois que tu utilises une variable qui n'est même pas déclarée dans ta fonction, je redoute l'utilisation d'une variable globale ... à surtout éviter ce genre de pratique !
Donc pour finir, voici une implémentation possible pour ta fonction:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
|
void afficher_villes (geo * t, size_t size)
{
size_t i = 0;
for (i = 0; i < size; i++)
{
if ((strcmp (t[i].pays, "maroc")) && (t[i].nhab >100000))
{
printf ("- %s", t[i].ville);
}
}
} |
PS:
pas testé !