zoukankan      html  css  js  c++  java
  • 复利计算 单元测试

    【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;
    }
    }
    }

    先交作业,有木有分再说吧。

  • 相关阅读:
    RUST实践.md
    redis.md
    opencvrust.md
    aws rds can't connect to mysql server on 'xx'
    Foundation ActionScript 3.0 With Flash CS3 And Flex
    Foundation Flash Applications for Mobile Devices
    Flash Mobile Developing Android and iOS Applications
    Flash Game Development by Example
    Actionscript 3.0 迁移指南
    在SWT中非UI线程控制界面
  • 原文地址:https://www.cnblogs.com/wqma/p/5335250.html
Copyright © 2011-2022 走看看