Problemes avec la date de fin de mois
Sadek
-
jls -
jls -
J'ai un petit probleme a resoudre:
je voudrai resoudre a faire un programme a resoudre
les penalites qu'il faux payer un etudiants pour les mensualite qu'il faux payer pour l'ecole chaque mois
il a le droit de payer avant le 11 de chaque mois
mais si la 11(mois)<Date<21(Mois) la penalite sera 10%de mensualidad
si 21(mois)<Date<fin du mois la penalite sera 15%
si si date>fin de mois (c'est a dire le mois suivant) la penalite sera 20%
J?ai reussi a resoudre la premiere mais j'ai pas pu resoudre la second et la derniere c'est a dire je pas pu resoudre comment je peux prendre en consideration les mois qui termine parfois par 31;30;29 et 28
si qlq un peut m'aider a resoudre ca s'il vous plait sera tres gentil de sa part
j'attend vos reponses
merci
je voudrai resoudre a faire un programme a resoudre
les penalites qu'il faux payer un etudiants pour les mensualite qu'il faux payer pour l'ecole chaque mois
il a le droit de payer avant le 11 de chaque mois
mais si la 11(mois)<Date<21(Mois) la penalite sera 10%de mensualidad
si 21(mois)<Date<fin du mois la penalite sera 15%
si si date>fin de mois (c'est a dire le mois suivant) la penalite sera 20%
J?ai reussi a resoudre la premiere mais j'ai pas pu resoudre la second et la derniere c'est a dire je pas pu resoudre comment je peux prendre en consideration les mois qui termine parfois par 31;30;29 et 28
si qlq un peut m'aider a resoudre ca s'il vous plait sera tres gentil de sa part
j'attend vos reponses
merci
A voir également:
- Problemes avec la date de fin de mois
- Fin des zfe - Guide
- Fin de la 4g en france - Accueil - Guide opérateurs et forfaits
- Reconsidérer le traitement de vos informations à des fins publicitaires - Accueil - Réseaux sociaux
- Airpods 3 date de sortie - Guide
- Nombre de jours entre deux dates excel - Guide
2 réponses
C'est simple. Je connais nécessairement le mois suivant et si je ne connais pas le dernier jour du mois qui m'intéresse, je sais que le mois suivant commence le 1. Donc je considére le la date du premier jour du mois suivant et à cette date j'enlève un jour, j'obtiens le dernier jour du mois en question. Prévoir une gestion particulière du mois de décembre et le tour est joué. Pour reprendre l'exemple, le dernier jour du mois est Date(01/(Mois + 1)/AAAA) - 1 si le mois est différent de 12 sinon le 31/12/AAAA. Tous les logiciels de programmation savent faire des opérations sur les dates.
slt
si j'ai bien compris un étudiant doit payer sa mensualité scolaire chaque mois au plus tard le 11.
si il paye entre le 12 et le 21 du mois en cours c'est + 10 % de pénalité.
si il paye entre le 22 et la fin du mois en cours c'est + 15% de pénalité
et si il paye avec 1 mois de retard et plus, c'est 20 %.
Je te propose d'extraire la date systeme à chaque encaissement.
et de distinguer le N° du jour et le N° du mois.
et de déclarer des variables de type entier :
mensualite, MoisMax ;
// MoisMax = Numero du mois de payement max autorisé
Tu peux resoudre le probleme simplement.
Si NumeroJour < 11
ET Si le NumeroMois == MoisMax
(pas de probleme.)
Si le NumeroJour > 11
ET Si le NumeroMois == MoisMax
Mensualite = Mensualité + 10%
Si le NumeroJour > 11 et < 21
ET Si le NumeroMois == MoisMax
Mensualite = Mensualité + 15%
Si le NumeroMois > MoisMax
Mensualite = Mensualité + 20% (// alors là ca fait mal !!)
ex : si ton etudiant doit payer en fevrier (mois N° 2) et que la date systeme te donne Mois N° 3 ton étudiant est donc en retard d'un mois et tu te moques à ce moment là de savoir si le mois à 28 , 30 ou 31 jours !
c'est + 20 % !.
Voila
et il ya certainement plus simple encore !
avec ça tu vas pouvoir faire un beau petit algorithme
et quelques simples lignes de code le tour sera joué.
bon courage
jean-luc stefanini
si j'ai bien compris un étudiant doit payer sa mensualité scolaire chaque mois au plus tard le 11.
si il paye entre le 12 et le 21 du mois en cours c'est + 10 % de pénalité.
si il paye entre le 22 et la fin du mois en cours c'est + 15% de pénalité
et si il paye avec 1 mois de retard et plus, c'est 20 %.
Je te propose d'extraire la date systeme à chaque encaissement.
et de distinguer le N° du jour et le N° du mois.
et de déclarer des variables de type entier :
mensualite, MoisMax ;
// MoisMax = Numero du mois de payement max autorisé
Tu peux resoudre le probleme simplement.
Si NumeroJour < 11
ET Si le NumeroMois == MoisMax
(pas de probleme.)
Si le NumeroJour > 11
ET Si le NumeroMois == MoisMax
Mensualite = Mensualité + 10%
Si le NumeroJour > 11 et < 21
ET Si le NumeroMois == MoisMax
Mensualite = Mensualité + 15%
Si le NumeroMois > MoisMax
Mensualite = Mensualité + 20% (// alors là ca fait mal !!)
ex : si ton etudiant doit payer en fevrier (mois N° 2) et que la date systeme te donne Mois N° 3 ton étudiant est donc en retard d'un mois et tu te moques à ce moment là de savoir si le mois à 28 , 30 ou 31 jours !
c'est + 20 % !.
Voila
et il ya certainement plus simple encore !
avec ça tu vas pouvoir faire un beau petit algorithme
et quelques simples lignes de code le tour sera joué.
bon courage
jean-luc stefanini