zoukankan      html  css  js  c++  java
  • 复利计算单元测试-软件工程

    测试模块

    测试输入

    预期结果

    运行结果

    bug跟踪

    计算终值

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

    终值

       

    1

    (100,10,0.03,1)

    134.39

     

    2

    (0,10,0.03,1)

    弹出提示:请输入>0的本金

    没有提示,显示0

    已改进。弹出提示:请输入>0的本金

    3

    (100,0,0.03,1)

    弹出提示:请输入>0的的年限

    没有提示,显示100.00

    已改进。弹出提示:请输入>0的年限

    4

     (100,10,0,1)  弹出提示:请输入>0的利率  没有提示,显示100.00  已改进。弹出提示:请输入>0的利率

    计算本金

    (年限,利率,次数,终值)

         
     1  (10,0.03,1,134.39)  100  √  
     2  (0,0.03,1,134.39)  弹出提示:请输入>0的的年限  没有提示,显示134.39  已改进。弹出提示:请输入>0的年限
    3 (10,0.03,1,0) 弹出提示:请输入>0的的终值 没有提示,显示0.00  已改进。弹出提示:请输入>0的终值
    4 (10,0,1,134.39) 弹出提示:请输入>0的利率 没有提示,显示134.39 已改进。弹出提示:请输入>0的利率
    计算年限 (本金,利率,次数,终值)      
    1 (100,0.03,1,134.39) 10  
    2 (0,0.03,1,134.39) 弹出提示:请输入>0的本金 没有提示,显示乱码 已改进。弹出提示:请输入>0的本金
    3 (100,0,1,134.39)  弹出提示:请输入>0的利率 没有提示,显示乱码 已改进。弹出提示:请输入>0的利率
    4 (100,0.03,1,0) 弹出提示:请输入>0的的终值 没有提示,显示乱码 已改进。弹出提示:请输入>0的终值
    计算利率 (本金,年限,次数,终值)      
    1 (100,10,1,134.39) 0.03  
    2 (0,10,1,134.39) 弹出提示:请输入>0的本金 没有提示,显示乱码 已改进。弹出提示:请输入>0的本金
    3 (100,0,1,134.39) 弹出提示:请输入>0的年限 没有提示,显示乱码 已改进。弹出提示:请输入>0的年限
    4 (100,10,1,0) 弹出提示:请输入>0的终值 没有提示,显示乱码 已改进。弹出提示:请输入>0的终值
             
             
             
      1 #include<stdio.h>
      2 #include<math.h>
      3 int panduan(double a,double b,double c);
      4 int i;
      5 void add(){
      6 double sum,p,n,a;
      7 int s;
      8 printf("选择复利计算或单利计算1/2:");
      9 scanf("%d",&s);
     10 qq:printf("输入本金:");
     11 scanf("%lf",&a);
     12 printf("输入年利率:");
     13 scanf("%lf",&p);
     14 printf("输入年限:");
     15 scanf("%lf",&n);
     16 i=panduan(a,p,n);
     17 if(i==-1){
     18 printf("请输入正确的数。");
     19 goto qq;
     20 }
     21 else{
     22 
     23 if(s==1){
     24 sum=a*(pow(1+p,n));
     25 }
     26 else
     27 sum=a*n*p+a;
     28 printf("总利润为:%lf
    ",sum);}
     29 getchar();
     30 
     31 }
     32 
     33 void benjin(){
     34 double sum,p,a;
     35 int n;
     36 qq: printf("输入总利润:");
     37 scanf("%lf",&sum);
     38 printf("输入年利率:");
     39 scanf("%lf",&p);
     40 printf("输入年限:");
     41 scanf("%d",&n);
     42 a=sum/pow(1+p,n);
     43 i=panduan(a,p,n);
     44 if(i==-1){
     45 printf("请输入正确的数。");
     46 goto qq;
     47 }
     48 else
     49 printf("本金为%lf",a);
     50 getchar();
     51 }
     52 
     53 void time(){
     54 double sum,p,a,n;
     55 
     56 qq:printf("输入本金:");
     57 scanf("%lf",&a);
     58 printf("输入年利率:");
     59 scanf("%lf",&p);
     60 printf("输入总利润:");
     61 scanf("%lf",&sum);
     62 n=log(sum/a)/log(1+p);
     63 i=panduan(a,p,n);
     64 if(i==-1){
     65 printf("请输入正确的数。");
     66 goto qq;
     67 }
     68 else
     69 printf("存款期限为:%lf",n);
     70 getchar();
     71 }
     72 
     73 void dingtou(){
     74 double sum,p,a,n;
     75 qq:printf("输入每期定投金额:");
     76 scanf("%lf",&a);
     77 printf("输入定投期数:");
     78 scanf("%lf",&n);
     79 printf("输入收益率:");
     80 scanf("%lf",&p);
     81 
     82 i=panduan(a,p,n);
     83 if(i==-1){
     84 printf("请输入正确的数。");
     85 goto qq;
     86 }
     87 
     88 sum=a*(1+p)*(-1+pow(1+p,n))/p;
     89 printf("预期收益:%lf",sum);
     90 getchar();
     91 }
     92 void lilv()
     93 {
     94 double sum,p,a,n;
     95 printf("输入本金:");
     96 scanf("%lf",&a);
     97 printf("输入年限:");
     98 scanf("%lf",&n);
     99 printf("输入总利润:");
    100 scanf("%lf",&sum);
    101 p=pow(sum/a,1/n)-1;
    102 printf("年利率为:%lf",p);
    103 getchar();
    104 }
    105 
    106 void main(){
    107 int m;
    108 while(1){
    109 printf("
    
    
    ");
    110 /*主菜单*/
    111        printf("
     ***********************************************
    ");
    112        printf(" | 1. 总利润计算                                 |
    ");
    113        printf(" |-----------------------------------------------|
    ");
    114        printf(" | 2. 本金计算                                   |
    ");
    115        printf(" |-----------------------------------------------|
    ");
    116        printf(" | 3. 存款期限计算                               |
    ");
    117        printf(" |-----------------------------------------------|
    ");
    118        printf(" | 4. 年利率                                     |
    ");
    119        printf(" |-----------------------------------------------|
    ");
    120        printf(" | 5. 定投计算                                   |
    ");
    121        printf(" |-----------------------------------------------|
    ");
    122        printf(" | 6. 退出                                       |
    ");
    123        printf(" |-----------------------------------------------|
    ");
    124 printf("请选择:");
    125 scanf("%d",&m);
    126     switch (m){
    127     case 1:{add();break;}
    128     case 2:{benjin(); break;}
    129     case 3:{time(); break;}
    130     case 4:{lilv(); break;}    
    131     case 5:{dingtou(); break;}    
    132     case 6:exit(0);break;
    133     }
    134 }
    135 
    136 }
    137 int panduan(double a,double b,double c)
    138 {
    139     if(a<=0||b<=0||c<=0)
    140         return -1;
    141     else return 1;
    142 }
  • 相关阅读:
    如何复制图文消息封面图片?正文没显示
    微信企业号已开通账号超过10万 日均消息量超过100万条
    微信服务号模板消息接口新增"设置行业"和"添加模板"及细节优化
    张小龙在微信公开课上的演讲
    做微信营销你知道男女用微信的习惯吗?
    微信时代,"邮"你选择 腾讯企业邮箱推新玩法
    亲身体验,不要再拖! 拖! 拖!
    The Promise of Deep Learning
    判断两个数组是否相等
    matlab学习笔记(一)单元数组
  • 原文地址:https://www.cnblogs.com/xinmingwang/p/5336291.html
Copyright © 2011-2022 走看看