Bonjour à tous,
J'ai un gros problème d'erreur de segmentation dans mon programme. Pourriez vous m'aider à le trouver et merci beaucoup d'avance à tous ceux qui vont s'intéresser à mon problème. A plus

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
 
//Structure des produits de la société (fichier.h)
typedef struct l1{
	char nomp[30];
	struct l1 *suivant;
} Elt1;
 
typedef Elt1 *ListeP;
 
 
//Structure de données Société
typedef struct {
//	int clesociete;
	char nom[30];
	char adresse[50];
	ListeP Produits;
} Societe;
 
 
 
 
 
(le fichier .c)
ListeP ajoutP (ListeP prod, char *nm)
{ListeP new=prod;
prod=(ListeP)malloc(sizeof(Elt1));
strcpy(prod->nomp, nm);
prod->suivant = new;
return prod;
}
 
Societe ajoutSociete ()
{
Societe s;
s.Produits=NULL;
printf("Saisissez le nom de la société : ");
scanf("%s",s.nom);
printf("Saisissez l'adresse de la socitété : ");
scanf("%s",s.adresse);
printf("Saisissez le nom du produit : ");
printf("bouh1");
s.Produits = ajoutP(s.Produits, "tondeuse");
printf("bouh2");
printf("%s %s",s.nom,s.adresse);
}
 
main()
{
Societe tmp;
tmp=ajoutSociete();
printf("%s %s %s",tmp.nom,tmp.adresse,tmp.Produits->nomp);
}