campo-sirio/gfm/demo18.c
alex ba237a9d91 Patch level : no patch
Files correlati     :
Ricompilazione Demo : [ ]
Commento            :
Aggiunti i sorgenti per Greenleaf Math Library (gfm.dll)


git-svn-id: svn://10.65.10.50/trunk@10079 c028cbd2-c16b-5b4b-a496-9718f37d4682
2002-02-26 12:19:02 +00:00

54 lines
1.1 KiB
C
Executable File

#include <stdio.h>
#include "gm.h"
void getdec(char *,DEC *);
void main(void);
static DEC *payintr[500], *payprin[500], *balance[500];
void main()
{
int nper, nyear, begend, i;
DECP pv, pmt, intr, aintr;
extern DEC *payintr[500], *payprin[500], *balance[500];
printf("Amortization schedule\n");
getdec("Amount of loan (positive): ", pv);
getdec("Percentage annual interest rate: ", aintr);
printf("Length of loan (years): ");
dscanf("%d", &nyear);
getdec("Monthly payment (positive): ", pmt);
nper = nyear * 12;
DivideDecimalByInt(intr, aintr, 12);
begend = GM_END;
AllocateDecimalArray(payintr, nper+1);
AllocateDecimalArray(payprin, nper+1);
AllocateDecimalArray(balance, nper+1);
AmortizeTable(payintr, payprin, balance, intr,
pv, pmt, begend, nper);
printf("%15s%20s%20s%20s\n", "Payment #", "Interest",
"Principal", "Balance");
for (i=1; i<=nper; i++)
dprintf("%15d%20v%20v%20v\n", i, payintr[i],
payprin[i], balance[i]);
FreeDecimalArray(payintr);
FreeDecimalArray(payprin);
FreeDecimalArray(balance);
}
void getdec(str, x)
char *str;
DEC *x;
{
int i;
do {
printf("%s", str);
i = dscanf("%t", x);
} while (i<1);
}