复利计算 单元测试
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了复利计算 单元测试相关的知识,希望对你有一定的参考价值。
【visualunit是国产的C/C++单元测试工具,我用过觉得很不错,该公司的技术支持也很到位,在使用过程中遇到问题都能及时帮用户解决。
Visual unit最新的版本是2.1。
部分功能清单如下:
具有完善的桩功能,从开始编码到升级维护的各个阶段,均可对任意层次、范围的代码实施分割测试;
自动生成测试代码和用例框架;
可视化编辑测试用例,用简单语法判断各种输出,还可自动判断中间变量;
可在用例中随意模拟、控制子函数的行为,包括设定返回值、输出参数、成员变量、全局变量的值,多次调用同一子函数可以设置不同的行为;
自动统计语句、条件、分支、路径覆盖;
显示参数、成员变量、返回值等输入输出数据;
显示每个用例所执行的代码;
自动画出逻辑结构图,显示每个用例的执行路径;
显示逻辑结构图中任一语句块、分支、分支结构、路径的代码;
逻辑结构图可自由裁剪,语句块、分支、分支结构、路径均可删除/恢复;
用例设计器可轻松找出遗漏用例,实现100%的语句、条件、分支、路径覆盖;
自动描述程序行为,帮助整理、验证编程思路提高编程效率,快速排除程序错误;
增强调试器功能,自动支持后退、重复、可视化选择输入、调试中切换输入;
自动生成html格式的测试报告。】
可是还没有学会怎么测试,所以没有测试。等换成JAVA(用Java进行复利计算测试)后再尝试测试。
代码如下:
#include<stdio.h>
#include<math.h>
void tip()
{
printf("复利计算软件\n");
printf(" 复利计算公式\n");
printf("\tF=P*pow((1+i/m),N*m)\n");
printf(" 本金计算公式\n");
printf("\tP=F/pow((1+i/m),N*m)\n");
printf(" 单利计算公式\n");
printf("\tL=P*N*i\n\tH=L+P");
printf(" 利率计算公式\n");
printf("\ti=m*(pow(F/P,1.0/(N*m))-1)");
printf(" 年份计算公式\n");
printf("\tn=(int)(log(F/P)/log(1+i/m)/m)");
printf("\tF:复利终值\n");
printf("\tP:本金\n");
printf("\ti:利率\n");
printf("\tH:本利和\n");
printf("\tN:利率获取时间的整数倍\n");
printf("\tm:年复利次数(一年当中的滚利次数)\n");
}
void benjin()
{
int N,m;
double i,F,P;
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("年复利终值为%lf需要本金为:%.4lf\n",F,P);
}
void fuli()
{
int N,m;
double i,F,P;
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,H,P,L;
printf("存入本金:");
scanf("%lf",&P);
printf("年利率:");
scanf("%lf",&i);
printf("存入年限:");
scanf("%d",&N);
L=P*N*i;
H=L+P;
printf("本息和为:%.4lf\n",H);
}
void lilv()
{
int N,m;
double i,F,P;
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到%.4lf需要%.4lf\n",P,F,i);
}
void nianfen()
{
int N,m;
double i,F,P;
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("从%.4lf到%.4lf需要%d年\n",P,F,N);
}
void main()
{
int n,i;
while(1)
{
// tip();
getchar();
printf("请输入你要选择的功能(0~3):\n 1:计算本金\n 2:计算年复利终值\n 3:单利计算\n 4:利率计算\n 5:年份计算\n 0:结束\n");
scanf("%d",&n);
if(i==0)
break;
switch(n)
{
case 1:
benjin();break;
case 2:
fuli();break;
case 3:
danli();break;
case 4:
lilv();break;
case 5:
nianfen();break;
case 0:i=0;break;
}
}
}
先交作业,有木有分再说吧。
以上是关于复利计算 单元测试的主要内容,如果未能解决你的问题,请参考以下文章