一.主要的功能需求:开发一个复利计算软件
功能:
这个复利计算软件能计算一些简单环境下的复利终值、单利终值、本金、时间、利率等。
二.开发结果
1.复利计算

2.单利计算

3.本金计算

4.时间计算

5.利率计算

6.定额定投


7.等额还款金额

三.核心代码
void fuli() //复利
{
int N,m;
double i,F,P;
tip();
printf("存入本金:");
scanf("%lf",&P);
printf("年利率:");
scanf("%lf",&i);
printf("存入年限:");
scanf("%d",&N);
printf("年复利次数:");
scanf("%d",&m);
F=P*pow((1+i/m),N*m);
printf("终值:%.4lf
",F);
}
void danli() //单利
{
int N;
double i,F,P;
tip();
printf("存入本金:");
scanf("%lf",&P);
printf("年利率:");
scanf("%lf",&i);
printf("存入年限:");
scanf("%d",&N);
F=P*i*N;
printf("终值:%.4lf
",F);
}
void benjin() //本金
{
int N,m;
double i,F,P;
tip();
printf("终值:");
scanf("%lf",&F);
printf("年利率:");
scanf("%lf",&i);
printf("存入年限:");
scanf("%d",&N);
printf("年复利次数:");
scanf("%d",&m);
P=F/pow((1+i/m),N*m);
printf("本金:%.4lf
",P);
}
void time() //时间
{
int N,m;
double i,F,P;
tip();
printf("存入本金:");
scanf("%lf",&P);
printf("年利率:");
scanf("%lf",&i);
printf("年复利次数:");
scanf("%d",&m);
printf("终值:");
scanf("%lf",&F);
N=(int)(log(F/P)/log(1+i/m)/m);
printf("时间:%d
",N);
}
void lilv() //利率
{
int N,m;
double i,F,P;
tip();
printf("存入本金:");
scanf("%lf",&P);
printf("存入年限:");
scanf("%d",&N);
printf("年复利次数:");
scanf("%d",&m);
printf("终值:");
scanf("%lf",&F);
i=m*(pow(F/P,1.0/(N*m))-1);
printf("利率:%.4lf
",i);
}
void invest()//计算年金终值
{
int N,n;
double i,F,P;
printf("存入本金:");
scanf("%lf",&P);
printf("存入年限:");
scanf("%d",&N);
printf("年利率:");
scanf("%lf",&i);
printf("1:按年投资
2:按月投资
");
A:printf("请选择你要的功能<1|2>:");
scanf("%d",&n);
if(n==1)
{
F=P*(pow(1+i,N)-1)/i;
}
else if(n==2)
{
F=N*12*(P*(i/12)+P);
}
else
{
printf("输入有误!请重新输入
");
goto A;
}
printf("%d年后的总产值:%.4lf
",N,F);
}
void average() //计算等额还款金额
{
int N;
double i,F,P;
printf("贷款金额:");
scanf("%lf",&F);
printf("存入年限:");
scanf("%d",&N);
printf("年利率:");
scanf("%lf",&i);
P=F*i/(12*(1+i)*(pow(1+i,N)-1));
printf("等额还款金额%.4lf
",P);
}
四.单元测试
1.测试结果
虽然老师有发学习写C语言单元测试的网址给我们,但仍然看不太懂,故此次单元测试没有成功,希望在下次课堂上老师能讲解一下。