diff --git a/banque.c b/banque.c index c591502..3500cc1 100644 --- a/banque.c +++ b/banque.c @@ -179,40 +179,36 @@ long nb_facons_rendre(int somme, int nb_pieces) nb_facons_rendre(somme, nb_pieces - 1); } +static int categorie_credit(const Transaction *t) +{ + if (t->montant > 30000) + { + if (t->client % 10 == 0 && t->jour % 7 < 5) + return 6; + return 7; +} + if (t->montant > 10000) + return 8; + if (t->montant > 1000) + { + if (t->jour % 30 == 0) + return 9; + return 10; + } + return 11; +} + /* F9 : catégorie d'une transaction (pour les statistiques) */ int categorie(const Transaction *t) { - if (t->montant < 0) { - if (t->montant < -20000) { - if (t->jour % 7 == 5 || t->jour % 7 == 6) - return 1; - else - return 2; - } else if (t->montant < -5000) { - return 3; - } else { - if (t->client % 10 == 0) - return 4; - return 5; - } - } else if (t->montant == 0) { - return 0; - } else { - if (t->montant > 30000) { - if (t->client % 10 == 0 && t->jour % 7 < 5) - return 6; - return 7; - } else if (t->montant > 10000) { - return 8; - } else if (t->montant > 1000) { - if (t->jour % 30 == 0) - return 9; - return 10; - } - return 11; - } + if (t->montant < 0) + return categorie_debit(t); + if (t->montant == 0) + return 0; + return categorie_credit(t); } + /* F10 : ajoute une ligne à la fin du rapport */ int longueur(const char *s) {