Function remise pendant periode [Résolu]

Signaler
Messages postés
3
Date d'inscription
mercredi 10 décembre 2008
Statut
Membre
Dernière intervention
18 juillet 2010
-
Messages postés
3
Date d'inscription
mercredi 10 décembre 2008
Statut
Membre
Dernière intervention
18 juillet 2010
-
slt tous le monde je fais une préparation pour passé Examen de Passage et j'ai trouvé cette question dans une variant de l' année président
**Ajouter une fonction remise permettant de bénéficier les clients d'une remise de 15% durant la période allant du 23/09 AU 15/12 de chaque année**

est ce que quelqu'un peut m'aidé a résoudre cette question et le fonction sera en vb.net et merci

4 réponses

Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
28
ah oui j'y avais pas pensé

 Private Function remiseExceptionnetlle(ByVal prix As Decimal, ByVal DateDebut As Date, ByVal DateFin As Date, ByVal remise As Decimal) As Decimal
        If (DateTime.Now.Ticks >= DateDebut.Ticks And DateTime.Now.Ticks <= DateFin.Ticks) Then
            prix = prix * (1 - remise)
        End If
        Return prix
    End Function

Dim prixreduc As Decimal = remiseExceptionnetlle(10.5, New Date(2009, 9, 13), New Date(2009, 12, 15), 0.15)

J'ai testé ce coup ci
Messages postés
6063
Date d'inscription
dimanche 13 avril 2003
Statut
Modérateur
Dernière intervention
15 juillet 2011
28
salut

private function remiseExceptionnetlle(prix as decimal, DateDebut as date, DateFin as date, remise as decimal) as decimal
if( datetime.now.month >= DateDebut.month and datetime.now.month <= DateDefin.month
AND   datetime.now.day>= DateDebut.day and datetime.now.day<= DateDefin.date) then
prix = prix * (1-remise)
end if

end if

Cette fonnction n'est pas testée (écrite de tête)

Appel

decimal prixreduc  = remiseExceptionnetlle(10.5, new Date(23,09,2009), new Date(15,12,2009) ,.15)
Messages postés
3
Date d'inscription
mercredi 10 décembre 2008
Statut
Membre
Dernière intervention
18 juillet 2010

merci pour votre reponse le problem ici c'est a la partie day 
par exemple en va consediré que nous somme a 12/10/2009 et cette date est valide donc on doit fair le remise
mais pour le test suivant
"datetime.now.day>= DateDebut.day and datetime.now.day<= DateDefin.date"
nous avons DateDebut=23,09,2009 et DateDefin=15,12,2009 et on pronds comme j'ai deja dis datetime=12/10/2009 fusons maintenat le test
12>=23 and 12<=15 donc il ne va jamais entré dans la condition  pour realisé le remis et c'est ca le probleme qui j'ai .
Messages postés
3
Date d'inscription
mercredi 10 décembre 2008
Statut
Membre
Dernière intervention
18 juillet 2010

merci mon amis une autre fois,  ca marche bien j'ai seulemant ajouter une truc pour rendre la fonction fonctione pour  toujour 

Private
Function remiseExceptionnetlle(
ByVal prix
As
Decimal,
ByVal datetest
As
Date,
ByVal DateDebut
As
Date,

ByVal DateFin
As
Date,
ByVal remise
As
Decimal)
As
Decimal

If (datetest.Ticks >= DateDebut.Ticks
And datetest.Ticks <= DateFin.Ticks)
Then
prix = prix * (1 - remise)

End
If

Return prix

End
Function

et truc c'est
Dim

ans
As
String =
Date.Now.Year

Dim prixreduc
As
Decimal = remiseExceptionnetlle(10.5,
CDate(TextBox1.Text),
New
Date(ans, 9, 13),
New
Date(ans, 12, 15), 0.15)
et je vous souhaite une bon8 et merci encore une autre fois.