Bonjour,
Je réalise en ce moment un programme sous linux en C.
Celui-ci fait une gestion utilisateur / contact et d'autre chose dont je ne pourrais pas parler ici.
J'ai un petit problème avec le fonctionnement de mon programme
J'ai une structure utilisateur qui comprends une sous - structure contact tableau.
En effet, on considèrera que pour utiliser le logiciel que je développe, un utilisateur logique peut avoir plusieurs contacts physique.
Dans l'ordre, j'ai une fonction de saisie utilisateur,.
Celle-ci contient une boucle while, qui dit que tant que je n'ai pas atteint le nombre de contact que je veux pour l'utilisateur en cours, je boucle sur une sous-fonction de création de contact.
de mon main j'appel donc ma fonction :
qui elle même appelle une ou plusieurs fois :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 int createuser(S_User *user)
Le problème est que createcontact me retourne une structure ou toute les valeurs sont remplie sauf une (la première), qui est soit vide, soit rempli de caractère bizarre.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 int createcontact(S_Contact *contact)
Ne maitrisant pas trop le C pour l'instant, et me servat de ce projet pour m'amélioré, je me permet de faire appel à vous pour comprendre.
Concernant la saisie, j'ai lu que fgets était ce qu'il y à de plus souple pour faire quelque chose de pro, c'est comme cela que je procède, sauf pour les nombres ou j'utilise scanf.
Aussi, j'ai remarquer que la structure user retourner au main avait le même problème, je m'en fiche un peu plus car c'est createuser qui fera l'insertion dans la base.
Je vous transmet les deux structures user et contact présent dans mon header :
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 #define MAX_CONTACT 10 typedef struct T_S_Contact { long id_con; char *nom_con; char *prenom_con; char *service_con; char *tel_fix_con; char *tel_mob_con; char *fax_con; char *mail_con; } S_Contact; typedef struct T_S_User { long id_util; char *raison_social_util; char *adr_util; char *ville_util; char *cp_util; int fab_cli; S_Contact contacts[MAX_CONTACT]; int nb_contact; char *iso_pays; int id_sect; } S_User;
En espérant que comme toujours vous puissiez m'aider à éclaircir ce problème dont je ne trouve pas pour l'instant de solution sans pour autant désespérer.
Partager