mon but et de faire un tout petit dictionnaire j'ai fais deux fonction une pour l'ajout d'un mots et une autre pour la suppression d'un mots,quand j'appel cette fonction ça marche pas,prière de me donner un coup de pouce pour mon programme;
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<string.h>
typedef struct elm{
char fr[20];
char en[20];
elm *nxt;
}mots;
typedef mots* pointeur;
pointeur ajout(pointeur P){
pointeur nouveau,temp;
nouveau=(pointeur) malloc(sizeof(mots));
nouveau->nxt=NULL;
printf("entrer le mots en francais\n");
scanf("%s",&(nouveau->fr));
printf("entrer le mots en anglais\n");
scanf("%s",&(nouveau->en));
if(P==NULL){return nouveau;}
else{
temp=P;
while(temp->nxt!=NULL){
temp=temp->nxt;}
temp->nxt=nouveau;
return P;}}
pointeur effacer(pointeur P,char t[20]){
pointeur pred,pp;
printf("entrer le mots en fançais\n");
scanf("%s",t);
if(strcmp(P->fr,t)==0){
pp=P;
P=P->nxt;
free(pp);}
else{
pred=P;
pp=pred->nxt;
while(pp->nxt!=NULL && strcmp(pp->fr,t)!=0){
pred=pp;
pp=pp->nxt;
}}
if(pp==NULL){printf("mots introuvable\n");}
else{
pred->nxt=pp->nxt;
free(pp);
}
return P;}
int affiche(){
int choix;
do{
printf("#############################################\n");
printf("| 1-ajouter un element |\n");
printf("| 2-supprimer un element |\n");
printf("| 3-quitter |\n");
scanf("%d",&choix);
}while(choix <1 || choix >3);
system("cls");
return choix;}
main(){
pointeur P=NULL;
char *t;
int choix=affiche();
while(choix!=3){
switch (choix){
case 1:
ajout(P);
break;
case 2:
effacer(P,t);
break;}
choix=affiche();}
}