CALCUL DATES & JOURS FÉRIÉS

sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 - 30 nov. 2008 à 10:00
alilerenoi Messages postés 13 Date d'inscription lundi 14 mars 2005 Statut Membre Dernière intervention 10 février 2009 - 16 janv. 2009 à 21:39
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/48564-calcul-dates-jours-feries

alilerenoi Messages postés 13 Date d'inscription lundi 14 mars 2005 Statut Membre Dernière intervention 10 février 2009
16 janv. 2009 à 21:39
Oula c'est assez agressif par ici. Pour un premier code, on dira que ce n'est pas mal. J'ai fait le meme en java, mais avec plus d'expérience, on a pas obtenu le meme rendu. Mais bon initiative dira t on.
DCTC33 Messages postés 3 Date d'inscription jeudi 28 octobre 2004 Statut Membre Dernière intervention 13 décembre 2008
13 déc. 2008 à 19:15
Bonjour,
Désolé de ne pas avoir répondu plus tôt, mais je ne viens pas tous les jours
Merci de cette réponse et surtout des explications qui m'apportent vraiment de l'aide.
Car si je mets mes petits trucs c'est un peu pour ça
C'est ce genre de réponses qui sont utiles et pour ceux comme moi qui ont découvert l'informatique un peu tard c'est un peu difficile de tout piger
Merci encore
A+
cs_petifa Messages postés 215 Date d'inscription dimanche 20 février 2005 Statut Membre Dernière intervention 10 mars 2014
4 déc. 2008 à 15:49
slt
l'age ne change pas au fait que quelqu'un qui débute est débutant. Mais bon j'ai quelques remarques à premier abord.

- Dans ta classe : J_Paques
# public string Jour_Pacques(int Annee)
# {
ton traitement est assez complexe, il serait plus judicieux d'utiliser des variable plus compréhensibles que a, b ...e

- ta fonction mod est inutille tu peux mettre directement
# int a = Mod( Annee, 19);
int a = Annee%19;

- Dans la classe Jours_Feries
# public DateTime[] J_Feries = new DateTime[13];
Cette variable devrait etre en private

-sinon, je suis d'accord avec sebmafate, utiliser un PARSE prend du temps car il y a des traitements derrirèe pour convertir une chaine de caractère en Date. Utilise le constructeur de DateTime, ca sera plus efficace et evitera les erreurs de conversion (En anglais et francais le jour et mois sont inversés)
# private void JourFerie(int Annee)
# {
# J_Feries[0]= DateTime.Parse("01/01/" + Annee.ToString());
J_Feries[0]= new DateTime(Annee,1,1)

- Ensuite cette structure n'est pas tr_s valide : utilise un mutateur (c'est à dire une fonction pour modifier directement une variable de classe
# public int Annee // Année
# {
# set
# {
# AN = value ;
# JourFerie(AN) ;
# }
# }
par exemple :
public setAN(int Annee)
{
this.AN = Annee;
this.JourFerie()
}
et dans ce cas la variable Annee dans JourFerie() , remplace la par this.AN
Tu devrais faire de meme pour toutes les autres fonctions que tu as mis comme ca, cela allègera le code

- Idem pour les autres fonction :
# public string Pacques
# {
# get
# {
# return J_Feries[1].ToLongDateString().Substring(0, J_Feries[1].ToLongDateString().Length - 4) ;
# }
# }
Remplace par
public string Pacques()
{ return J_Feries[1].toString(); }

-Dernière chose, tu devrais mettre des commentaires,
# private void Calcul()
# {
On ne sais pas en lisant le titre ou les commentaires ce que fait cette fonction.

Voila je ne peux dire que ca pour le moment
j'ai pas regardé le code pour l'affichage ...
DCTC33 Messages postés 3 Date d'inscription jeudi 28 octobre 2004 Statut Membre Dernière intervention 13 décembre 2008
1 déc. 2008 à 18:25
Bonsoir,
Mais perso, je n'ai rien vu de méchant. Et dans la réponse je ne vois pas ce qui choque il me semble qu'au sujet des conseils j'écris bien que je les prends.Quand au reste,quoi je ne serai jamais informaticien, je confirme je m'en moque, je m'amuse
Quant à penser !!! on est si bien à ne pas y penser,assayer de réfléchir est déjà bien assez fatiguant.
Allez à la prochaine.
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
30 nov. 2008 à 10:45
Ce n'est pas parce qu'on est vieux qu'on est dispensé de penser.
Mon premier commentaire n'a rien de méchant... je te donne juste des conseils.
On commence tous un jour... toi c'est l'informatique, moi, c'est la photo !
DCTC33 Messages postés 3 Date d'inscription jeudi 28 octobre 2004 Statut Membre Dernière intervention 13 décembre 2008
30 nov. 2008 à 10:31
Bonjour,
Quand on a son premier PC et que l'on écrit son premier IF à 50 balais on fait comme on pense et surtout comme on peut.
Et oui les vieux essayent, ils ne sont pas bons, ils s'en foutent, ils prennent les conseils et essayent à leur manière de participer.
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
30 nov. 2008 à 10:00
Plusieurs remarques :
L'idée de faire une classe pour retrouver les jours fériés est pas mal... mais malheureusement, la réalisation ne me plait pas !
- Pourquoi retourner la date de Paques (et autres) sous la forme d'une chaine de caractères ? Pourquoi pas un DateTime ?
- Pourquoi créer les DateTimes à partir de DateTime.Parse(), il suffit d'utiliser le constructeur de DateTime : DateTime(year, month, day)

Finalement, je n'ai pas tout lu...
Rejoignez-nous