天天看点

单元测试

void fanxiang()
{
    float money;
    float base;
    double total = 1.0f;
    int day;
    int x;
    int k;
    char lab;
    double total1;
    printf("-------------------------------------------------------------|\n");
    printf("请输入你需要得到的金额:\n");
    scanf("%f",&money);
    while(money<=0)
    {
        printf("-------------------------------------------------------------|\n");
        printf("输入值为负数,请重新输入:\n");
        scanf("%f",&money);
    }
    printf("-------------------------------------------------------------|\n");
    printf("请输入平均年回报率:\n");
    scanf("%f",&base);
    while(base<=0)
    {
        printf("-------------------------------------------------------------|\n");
        printf("输入值为负数,请重新输入:\n");
        scanf("%f",&base);
    }
    printf("-------------------------------------------------------------|\n");
    printf("请输入存入的年数\n");
    scanf("%d",&day);    
    while(day<=0)
    {
        printf("-------------------------------------------------------------|\n");
        printf("输入值为负数,请重新输入:\n");
        scanf("%d",&day);
    }
    printf("-------------------------------------------------------------|\n");
lab:printf("若是复利选择1,单利选择2\n");
    scanf("%d",&x);
    printf("-------------------------------------------------------------|\n");
    if(x==1)
    {
        printf("请输入复利次数:\n");
        scanf("%d",&k);
while(k<=0)

        {
        printf("-------------------------------------------------------------|\n");
        printf("输入值为负数,请重新输入:\n");
        scanf("%d",&k);
        }
        printf("-------------------------------------------------------------|\n");
        total=total*pow(1+base/k,k*day);
        total1=money/total;
        printf("需要的本金为:%f\n",total1);
        printf("-------------------------------------------------------------|\n");
    }
    else if(x==2)
    {
        total=base*day;
        total1=money/(1+total);
        printf("需要的本金为:%f\n",total1);
        printf("-------------------------------------------------------------|\n");
    }
    else
    {
        printf("请重新输入1或者2\n");
        goto lab;
    }
    
}      

目前这是我复利计算中其中一个函数方法,下面将对其进行单元测试

测试模块 测试输入 预期结果 实际结果 蟑螂追踪
计算本金模块 终金,年回报率,存入年数,选择存款方式,(复利情况有次数) 本金值
 测试复利运算结果  100000,0.03,5,1,3  86134.947769  符合
 测试终金为负值  -100000,0.03,5,1,3  提示终金重新输入
  测试年回报率为负值 -100000,0.03,5,1,3  提示年回报率重新输入
 测试存入年数为负值   100000,0.03,-5,1,3  提示存入年数重新输入
 测试存款方式输入除1和2的值  100000,0.03,-5,5  提示存款方式重新输入
 测试单利运算结果  100000,0.03,5,2  86956.521993
 测试输入字母  a,0.03,5,2  提示输入错误请重新输入数字  不符合,其出现无限循环
 测试输入为0  0,0.03,5,2  提示重新输入
 测试输入数字过大  9999999999999,0.03,5,2  提示数字过大请重新输入  不符合,本金出现8695652049671.691400
 测试输入年为小数  100000,0.03,1.5,2  程序可以继续运行  不符合,出现无限循环
 测试输入利率为0   100000,0,5,2  提示请重新输入
 测试输入复利情况下复利次数为负数  100000,0.03,5,1,-3
 ......

目前已经进行BUG的查出,以后将会对BUG来进行修改。