Calcula dedução por dependentes.
authorThadeu Lima de Souza Cascardo <cascardo@cascardo.eti.br>
Sun, 6 Sep 2015 01:53:10 +0000 (22:53 -0300)
committerThadeu Lima de Souza Cascardo <cascardo@cascardo.eti.br>
Mon, 7 Sep 2015 22:02:44 +0000 (19:02 -0300)
Calcula o valor da dedução usando o limite anual por dependente.

lib/calcula.c

index 7b22639..42b33b6 100644 (file)
 #include "declaracao.h"
 #include "cmd.h"
 #include "rendimento.h"
+#include "dependente.h"
 #include "totais.h"
 
+static const long long dependente2015 = 215652;
+
 /* Alguns totais precisam ser limitados. Portanto, um total de decuções
  * precisa ser ajustado para tais limites. Esta função considerará tais
  * limites no futuro. */
 static long long total_deducao(struct declaracao *dec)
 {
-       return totais_get(dec, "INSS") + totais_get(dec, "PAGAMENTOS");
+       int i;
+       long long dependentes = 0;
+       struct dependente *dependente;
+       for (i = 0; (dependente = list_get(dec->dependentes, i)); i++) {
+               dependentes += dependente2015;
+       }
+       return dependentes +
+              totais_get(dec, "INSS") +
+              totais_get(dec, "PAGAMENTOS");
 }
 
 static void total_pago(struct declaracao *dec)