campo-sirio/src/gfm/demo16.c
mtollari 1b14ec9415 Spostamento cartella sorgenti
git-svn-id: svn://10.65.10.50/branches/R_10_00@23236 c028cbd2-c16b-5b4b-a496-9718f37d4682
2016-09-09 13:59:02 +00:00

66 lines
1.2 KiB
C
Executable File

#include <stdio.h>
#include "gm.h"
void getdec(char *,DEC *);
void main(void);
void main()
{
int choice, opt, nper=0, diy=365;
DECP pv, intr, intamt;
DEC *p;
printf("Simple interest computation\n");
printf("Variable to solve for --\n");
printf(" 1) Number of days\n 2) Interest rate\n");
printf(" 3) Principal\n 4) Accrued interest\n");
printf("Your choice: ");
scanf("%d", &choice);
if (choice == 1)
opt = GM_N;
if (choice == 2)
opt = GM_I;
if (choice == 3)
opt = GM_PV;
if (choice == 4)
opt = GM_INTR;
if (opt != GM_N) {
printf("Number of days: ");
scanf("%d", &nper);
}
if (opt != GM_I)
getdec("Percentage annual interest rate: ", intr);
if (opt != GM_PV)
getdec("Principal: ", pv);
if (opt != GM_INTR)
getdec("Accrued interest: ", intamt);
dprintf("Number of days in year (360 or 365): ");
dscanf("%d", &diy);
if (diy == 360)
p = simp360(&nper, intr, pv, intamt, opt);
else
p = simp365(&nper, intr, pv, intamt, opt);
if (opt==GM_N)
dprintf("The result is %d\n",nper);
else {
if (p)
dprintf("The result is %v\n",p);
else
dprintf("Simple interest failed\n");
}
}
void getdec(str, x)
char *str;
DEC *x;
{
int i;
do {
printf("%s", str);
i = dscanf("%t", x);
} while (i<1);
}