复利计算单元测试

             因为在网上下了CUnit但是找不到在windows教程的使用方法,只好通过手动测试统计C语言下程序运行结果。

测试模块

测试输入

预期结果

运行结果

复利计算

(本金,年限,利率,次数)

终值

 

测试运算结果

(100,2,0.1,10)

122.019

122.019004

 测试输出正数

(100,3,0.05,1)

115

115.00

 测试输入负数

 (-100,3,0.05,1) 输入错误!请检查输入的数据是否正确! √
测试输出正数  (-100, -2 , 0.01 ,1)输入错误!请检查输入的数据是否正确! √
投资年限(本金,总值,利率,复利次数)  
测试运算结果(100,200,0.2,5)
......以下结果与上表一致  

#include <windows.h>
#include<stdio.h>
#include<math.h>
void count(){
int a,b;
double x,sum,y;
system("cls");
printf("\t\t欢迎进入复利计算软件v3:\n");
printf("请输入需要计算的本金:");
scanf("%lf",&y);
printf("输入所要存储的时间(年):");
scanf("%d",&a);
printf("输入利率:");
scanf("%lf",&x);
printf("输入复利次数:");
scanf("%d",&b);
printf("Loading...:");
x=pow((1+x/b),b)-1;
sum=y*(pow(1+x,a));
if(sum>=0&&a>=0&&b>0)
printf("%lf",sum);
else
printf("输入错误!请检查输入的数据是否正确!");
printf("\n");
}

void count1(){
int n;
double x,sum,y;
system("cls");
printf("\t\t欢迎进入复利计算软件v3:\n");
printf("请输入需要计算的本金:");
scanf("%lf",&y);
printf("输入所要存储的时间(年):");
scanf("%d",&n);
printf("输入利率:");
scanf("%lf",&x);
printf("正在输出:");
sum=y+y*n*x;
printf("所得%lf",sum);
printf("\n");
}

void count3(){
int a,i;
double c,sum,b;
system("cls");
printf("\t\t\t欢迎进入复利计算软件v3:\n");
printf("请输入你所需要的总值:");
scanf("%lf",&sum);
printf("请输入你所需要的存储年:");
scanf("%d",&a);
printf("请输入利率:");
scanf("%lf",&c);
printf("请输入复利次数:");
scanf("%d",&i);
c=pow((1+c/i),i)-1;
b=sum/pow(1+c,i);
printf("正在输出:");
printf("所需要本金%lf",b);
printf("\n");
}

void count4(){
int i;
double a,sum,b,n;
system("cls");
printf("\t\t\t欢迎进入复利计算软件v3:\n");
printf("请输入本金:");
scanf("%lf",&b);
printf("请输入你所需要的总值:");
scanf("%lf",&sum);
printf("输入利率:");
scanf("%lf",&a);
printf("输入复利次数:");
scanf("%d",&i);
printf("正在输出:");
a=pow((1+a/i),i)-1;
n=log(sum/b)/log(1+a);
printf("所得:%lf",n);
printf("\n");
}

void x(){
int n,i;
double a,sum,b;
system("cls");
printf("\t\t\t欢迎进入复利计算软件v3:\n");
printf("请输入本金:");
scanf("%lf",&b);
printf("请输入你所需要的总值:");
scanf("%lf",&sum);
printf("输入所要存储年:");
scanf("%d",&n);
printf("输入复利次数:");
scanf("%d",&i);
printf("正在输出:");
a=i*(pow(pow(sum/b,1.0/n),1.0/i)-1);
printf("所得:%lf",a);
printf("\n");
}

void count5(){
double sum,b,a;
int n;
system("cls");
printf("\t\t\t欢迎进入复利计算软件v3:\n");
printf("请输入年投入:");
scanf("%lf",&b);
printf("请输入年复合增长率:");
scanf("%lf",&a);
printf("请输入持续投入年数:");
scanf("%d",&n);
sum=b*(1+a)*pow((1+a),n-1)/a;
printf("\n得出:%lf\n",sum);
}


main(){
int a;
do{
printf("\t\t\t欢迎进入复利计算软件v3:\n");
printf("\t1.单利计算");
printf("\n\t2.复利计算");
printf("\n\t3.求本金");
printf("\n\t4.求时间");
printf("\n\t5.求利率");
printf("\n\t6.投资");
printf("\n请输入你的选项:");
scanf("%d",&a);
switch (a){
case 1:
count1();
break;
case 2:
count();
break;
case 3:
count3();
break;
case 4:
count4();
break;
case 5:
x();
break;
case 6:
count5();
break;
default:
return 0;
}
}while(a>=0);
}

github已提交 trans.md 测试结果文档。

 

转载于:https://www.cnblogs.com/whitestar/p/5338608.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值