Adiciona comando de resumo.
authorThadeu Lima de Souza Cascardo <cascardo@cascardo.eti.br>
Sat, 30 May 2015 15:58:46 +0000 (12:58 -0300)
committerThadeu Lima de Souza Cascardo <cascardo@cascardo.eti.br>
Sat, 30 May 2015 15:58:46 +0000 (12:58 -0300)
O comando resume os valores da declaração que são calculados,
exibindo-os na saída padrão.

base.c

diff --git a/base.c b/base.c
index 07f0c95..0eec44c 100644 (file)
--- a/base.c
+++ b/base.c
@@ -42,6 +42,14 @@ static int run_dump(struct declaracao *dec, char **args, int argc)
        return 0;
 }
 
+static int run_resumo(struct declaracao *dec, char **args, int argc)
+{
+       printf("pago: %lld.%02d\n", dec->pago / 100, dec->pago % 100);
+       printf("devido: %lld.%02d\n", dec->devido / 100, dec->devido % 100);
+       printf("restituicao: %lld.%02d\n", dec->restituicao / 100, dec->restituicao % 100);
+       return 0;
+}
+
 static void salva(struct declaracao *dec, FILE *f)
 {
        fprintf(f, "ano %d\n", dec->ano);
@@ -80,10 +88,16 @@ static struct cmd cmd_salva = {
        .run = run_salva,
 };
 
+static struct cmd cmd_resumo = {
+       .name = "resumo",
+       .run = run_resumo,
+};
+
 int base_cmd_init(void)
 {
        cmd_add(&cmd_dump);
        cmd_add(&cmd_salva);
+       cmd_add(&cmd_resumo);
        cmd_add(&cmd_ano);
        cmd_add(&cmd_cpf);
        cmd_add(&cmd_recibo);