Truc de pointeur SVP aide mw C
Résolu
kribac
Messages postés
104
Date d'inscription
Statut
Membre
Dernière intervention
-
kribac Messages postés 104 Date d'inscription Statut Membre Dernière intervention -
kribac Messages postés 104 Date d'inscription Statut Membre Dernière intervention -
bonjour a ts bon voila ma structure
typedef struct telephone {
int n1;
int n2;
char c[20];
int ind;
int occupe;
struct telephone * sv;
}tel;
voila ma fonction ajouter une structure
void ajouter(liste*l,int a,int b,char k, int i) {
liste p; p=*l;
liste nouveau=(liste)malloc(sizeof(tel));
nouveau->n1=a;
nouveau->n2=b;
nouveau->ind=i;
nouveau->occupe=1;
strcpy(nouveau->c,k); // erreur ici passing arg 2 of 'strcpy' makes pointer from integer
without a cast
nouveau->sv=NULL;
if(*l==NULL)*l=nouveau;
else { while(p->sv!=NULL) p=p->sv;
p->sv=nouveau;
}
}
int n,N1,N2;
char p[20];
liste pol1=NULL;
printf("%2d -N1=",i+1);
scanf("%d",&N1);
printf(" -c1c2c3=");
scanf("%s",p);
printf(" -N2=",i+1);
scanf("%d",&N2);
ajouter(&pol1,N1,N2,p,5); // erreur ici passing arg 4 of 'ajouter' makes integer from pointer
without a cast
bon le prog marche tr bien dans le cas ou j'enléve "char k" et "p"
donc j 1 problem avec ce K é ça dans l'appel donc je savoir comment l'appeler ds la fonction ?? est ce que ajouter(&pol1,N1,N2,&p,5); ??? ou bien dans la fonction ajouter(liste*l,int a,int b,char * k, int i) ??? ché plu aidé mw
typedef struct telephone {
int n1;
int n2;
char c[20];
int ind;
int occupe;
struct telephone * sv;
}tel;
voila ma fonction ajouter une structure
void ajouter(liste*l,int a,int b,char k, int i) {
liste p; p=*l;
liste nouveau=(liste)malloc(sizeof(tel));
nouveau->n1=a;
nouveau->n2=b;
nouveau->ind=i;
nouveau->occupe=1;
strcpy(nouveau->c,k); // erreur ici passing arg 2 of 'strcpy' makes pointer from integer
without a cast
nouveau->sv=NULL;
if(*l==NULL)*l=nouveau;
else { while(p->sv!=NULL) p=p->sv;
p->sv=nouveau;
}
}
int n,N1,N2;
char p[20];
liste pol1=NULL;
printf("%2d -N1=",i+1);
scanf("%d",&N1);
printf(" -c1c2c3=");
scanf("%s",p);
printf(" -N2=",i+1);
scanf("%d",&N2);
ajouter(&pol1,N1,N2,p,5); // erreur ici passing arg 4 of 'ajouter' makes integer from pointer
without a cast
bon le prog marche tr bien dans le cas ou j'enléve "char k" et "p"
donc j 1 problem avec ce K é ça dans l'appel donc je savoir comment l'appeler ds la fonction ?? est ce que ajouter(&pol1,N1,N2,&p,5); ??? ou bien dans la fonction ajouter(liste*l,int a,int b,char * k, int i) ??? ché plu aidé mw
A voir également:
- Truc de pointeur SVP aide mw C
- Pointeur souris - Guide
- Curseur Windows 10 : comment bien voir la souris à l'écran - Guide
- Wap truc - Télécharger - Navigateurs
- Le pointeur de mon pc portable ne marche plus - Guide
- Mw snap - Télécharger - Capture d'écran
1 réponse
salut,
le paramètre k est une chaine, ça doit être un "char * ", pas un "char" (dans la déclaration de ta fonction)
le paramètre k est une chaine, ça doit être un "char * ", pas un "char" (dans la déclaration de ta fonction)
Pacorabanix
Messages postés
3248
Date d'inscription
Statut
Membre
Dernière intervention
663
un char, c'est juste un caractère, ou autrement dit (presque pareil) un nombre entre 0 et 255 (d'où le message d'erreur). une chaine c'est un tableau de caractère.
Pacorabanix
Messages postés
3248
Date d'inscription
Statut
Membre
Dernière intervention
663
de plus pour ton histoire de liste, malloc renvoie un pointeur, donc selon toute vraisemblance un " liste * ", ou alors je nai pas bien compris ton programme
kribac
Messages postés
104
Date d'inscription
Statut
Membre
Dernière intervention
10
merci bqqq pacorabanix sa marche tr b1 avc " char * " merci encore