复利计算单元测试

时间:2023-01-09 16:02:03

             因为在网上下了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 测试结果文档。