Function remise pendant periode

Résolu
itricasa2008 Messages postés 3 Date d'inscription mercredi 10 décembre 2008 Statut Membre Dernière intervention 18 juillet 2010 - 11 juin 2009 à 16:08
itricasa2008 Messages postés 3 Date d'inscription mercredi 10 décembre 2008 Statut Membre Dernière intervention 18 juillet 2010 - 11 juin 2009 à 22:10
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

nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
11 juin 2009 à 21:16
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
3
nhervagault Messages postés 6063 Date d'inscription dimanche 13 avril 2003 Statut Membre Dernière intervention 15 juillet 2011 37
11 juin 2009 à 19:16
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)
0
itricasa2008 Messages postés 3 Date d'inscription mercredi 10 décembre 2008 Statut Membre Dernière intervention 18 juillet 2010
11 juin 2009 à 20:50
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 .
0
itricasa2008 Messages postés 3 Date d'inscription mercredi 10 décembre 2008 Statut Membre Dernière intervention 18 juillet 2010
11 juin 2009 à 22:10
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.
0
Rejoignez-nous