一.主要的功能需求:开发一个复利计算软件
功能:
这个复利计算软件能计算一些简单环境下的复利终值、单利终值、本金、时间、利率等。
二.开发结果
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语言单元测试的网址给我们,但仍然看不太懂,故此次单元测试没有成功,希望在下次课堂上老师能讲解一下。