Fausse manipulation des pointeur

AzizGadacha -  
 AzizGadacha -
Bonjour,
j'ai un problème avec les pointeurs j'ai utiliser une fonction dans une autre fonction maisj'ai eu des probleme avec la declaration des variable exactement dans la ligne 65

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct
{    char nom1[20];
    char pays1[20];
    int poin1;
}ecurie;
typedef struct
{   char nom[20];
    char prenom[20];
    char pays[20];
    ecurie vol;
    int point;
}pilote;
typedef struct
{   char nomc[20];
    int nombre;
    char date[20];
    int classement[20];
}grand_prix;

int recherche(int *np,ecurie *m,int *tnb,ecurie *te)
{int i=0;
    while(strcmp(te [i].nom1,m->nom1)!=0)
        i=i+1;
        if (i>*np)
            return(-1);
        else
        {if (tnb[i]<2)
            return(i);
            else
            return(0);}}
int recherche1(ecurie *te,ecurie *m,int *nbr)
{int i=0;
    while(strcmp(te [i].nom1,m->nom1)!=0)
        i=i+1;
        if (i>*nbr)
            return(-1);
        else
            return(i);}
void ajoutepilo(int *j,pilote *w,ecurie *m, pilote *tp,int *np,int *tnb,int *nbr,ecurie *te)
{
    int x;
    printf("donner le nom du %d pilote  ",j);
scanf("%s",&w->nom);
printf("donner le prenom du %d pilote",j);
scanf("%s",&w->prenom);
printf("donnerle pays du %d pilote  ",j);
scanf("%s",&w->pays);
printf("donnerle pays1 du %d pilote  ",j);
scanf("%s",&w->vol.nom1);
printf("donnerle pays2 du %d pilote  ",j);
scanf("%s",&w->vol.pays1);
printf("%s",w->vol.nom1);
printf("%s",w->vol.pays1);
printf("%s",w->nom);
printf("%s",w->prenom);
printf("%s",w->pays);
   strcpy(w->vol.nom1,m->nom1);
strcpy(w->vol.pays1,m->pays1);
w->vol.poin1=m->poin1;
w->point=0;
*np=*np+1;
tp[*np]=*w;
tnb[recherche(&np,&m,tnb,te)]=tnb[recherche(&np,&m,tnb,te)]+1;

}

int main ()
{grand_prix to[20];
ecurie te[10],m;
pilote tp[20],w;
int tnb[10],nbr;
int  ne,np,i,n,j;
for(i=0;i<n;i++)
       tnb[i]=0;
printf("donner le nombre d'ecurie a ajoutter" );
scanf("%d",&n);
ajoutepilo(&j,&w,&m,tp,&np,tnb,&nbr,te);
recherche(&np,&m,tnb,te);
}


Configuration: Windows / Chrome 81.0.4044.138
A voir également:

3 réponses

yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
bonjour, je ne vois aucune déclaration en ligne 65.
de quel problème s'agit-il?
0
AzizGadacha
 
non il n'ya pas d'erreur pour la ligne 65 l'erreur excite dans la ligne 6 j'ai un variable qui est déjà un pointeur dans je ne sais pas comment je doit l’appelé dans cette fonction si vous pouvez me corriger cette ligne
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
0
Dalfab Messages postés 706 Date d'inscription   Statut Membre Dernière intervention   101
 
Bonjour,

Il y a eu une promo sur les pointeurs? Je n'avais jamais vu autant de pointeurs de ma vie! Il ne faut utiliser les pointeurs que quand on n'a pas d'autres possibilités.
Je vois plutôt le problème ligne 66. Ici
np
est un pointeur sur un
int
, donc
&np
est un pointeur sur un pointeur sur un
int
, la fonction quant à elle s'attend à un simple pointeur sur un
int
! Et en plus elle n'a besoin que de la valeur d'un
int
pourquoi compliquer avec un pointeur ici.
0
AzizGadacha
 
oui j'ai fait une faute je veux dire que j'ai un problème avec la ligne 66 car j'ai réglé quelle que chose avant de publier le code donc j'ai oublier de vérifier le numero de la ligne dans la quelle l'erreur excite
mon problème est ça fausse manipulation avec les pointeur car j'ai un variable qui est déjà un pointeur dans je ne sais pas comment je doit l’appelé dans cette fonction si vous pouvez me corriger cette ligne
0