GESTION PERSONNEL - C - Programmation
Marsh Posté le 31-05-2018 à 13:45:57
Je comprends rien à ta fonction saisidate(). En effet, toutes tes boucles do...while {} s'arrêtent avec une condition totalement à coté de la plaque.
Exemple :
Code :
|
Je passe sur l'utilisation du scanf() qui est à proscrire. Cette boucle demande à l'utilisateur de saisir un mois, tant que le mois saisi est inférieur à 0 ou supérieur à 12. Qu'est ce que c'est que ce délire d'obliger l'utilisateur à saisir un mois non valide ? Ton while() ne devrait-il pas plutôt ressembler à ceci ?
Code :
|
quand à ton switch pour déterminer l'année bissextile, il est inutile, un "if" suffit largement.
essaie de faire aussi un effort sur le nom de tes variables, évite les tailles fixes du style "nom[20]" (si le nom dépasse 20 caractères => BOUM)...
Marsh Posté le 31-05-2018 à 14:14:33
Au passage, la construction de la liste implique que chaque nom est unique. Le cas des homonymes n'est donc pas traité. Il faudrait a minima faire une recherche sur l'unicité nom/prénom et pas juste sur le nom.
Par ailleurs, la fonction modifier_nbrdenfant() prend en paramètre le prénom et non le nom. Mais c'est le prénom qui est utilisé pour la recherche de la personne. Or, recherche() fait une recherche sur le nom. Tu recherches donc un prénom dans le champ "nom"
Marsh Posté le 31-05-2018 à 14:40:27
Et j'avais pas vu ça aussi :
Code :
|
Bravo, tu écris ta structure à partir du dernier caractère du fichier, pas étonnant que ça ne marche pas
Marsh Posté le 31-05-2018 à 18:03:00
Harkonnen a écrit : Je comprends rien à ta fonction saisidate(). En effet, toutes tes boucles do...while {} s'arrêtent avec une condition totalement à coté de la plaque.
|
Euh soit c'est moi, soit c'est toi qui est fatigué mais cela me semble logique que ce soit tant que le mois est inférieur à ou supérieur à. Néanmoins je te l'accorde que sur le signe exacte c'est inférieur ou égale :
Code :
|
ou :
Code :
|
Marsh Posté le 01-06-2018 à 06:29:53
RE mrc pour votre aide et vos remarques..
en effet au debut jai dit "la liste saffiche" alors les pro sauront que la fonctions de saisie de date marche parfaitement....
pour ta part Harkonnen avec fseek end etant donné quen ajoujant dans ma liste je veu quel le fasse en fin de liste ta ue autre soluce??
mrc rufo je pense aussi que le probleme vient de la.
Marsh Posté le 01-06-2018 à 09:44:45
MaybeEijOrNot a écrit : |
non non, c'est moi qui était fatigué
mais tu as quand même de la chance que ça marche, car quand tu déclares ta structure comme ceci :
Code :
|
puis que plus loin tu créées une variable de type date sans l'initialiser, tu n'as aucune garantie que les membres de ta structure date soient initialisés par défaut comme tu le souhaites (par exemple avec un mois<0 ou >12. du coup, il serait parfaitement possible que tu ne passes jamais dans tes do... while().
le mieux serait d'initialiser toutes tes structures, par exemple :
Code :
|
Marsh Posté le 29-05-2018 à 04:55:01
bonjour ou bonsoir.
jai un mini projet gestion personel en c avec une liste chainé que je doit sauvegardé dans un fichier jai fini les fonction nécéssaire et la liste saffiche normalement mais le problem cest lecriture dans le fichier jy arrive pas merci davance pour votre aide....
Message édité par Harkonnen le 29-05-2018 à 09:21:18