一.主要的功能需求:开发一个复利计算软件

功能:

    这个复利计算软件能计算一些简单环境下的复利终值、单利终值、本金、时间、利率等。

二.开发结果

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\n",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\n",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\n",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",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\n",i);
}
void invest()//计算年金终值
{
	int N,n;
    double i,F,P;
    printf("存入本金:");
    scanf("%lf",&P);
	printf("存入年限:");
	scanf("%d",&N);
    printf("年利率:");
    scanf("%lf",&i);
    printf("1:按年投资\n2:按月投资\n");
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("输入有误!请重新输入\n");
        goto A;
    }
	printf("%d年后的总产值:%.4lf\n",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\n",P);
}  

四.单元测试

1.测试结果

    虽然老师有发学习写C语言单元测试的网址给我们,但仍然看不太懂,故此次单元测试没有成功,希望在下次课堂上老师能讲解一下。