zoukankan      html  css  js  c++  java
  • 单元测试代码

      1 #include<stdio.h>
      2 #include<math.h>
      3 #include<conio.h>
      4 
      5 
      6 void benjin()//计算本金
      7 {
      8      int N,m;
      9      double i,F,P;
     10      printf("复利终值:");
     11      scanf("%lf",&F);
     12      while(F<=0  ||  F>999999999)
     13      {
     14          printf("输入错误,请重新输入大于0的本金:
    ");
     15          scanf("%lf",&F);
     16      }
     17      printf("年利率:");
     18      scanf("%lf",&i);
     19      while(i<=0 || i>=1)
     20      {
     21          printf("输入错误,请重新输入0~1之间的利率:
    ");
     22          scanf("%lf",&i);
     23      }
     24      printf("存入年限:");
     25      scanf("%d",&N);
     26      while(N<=0 || N>100)
     27      {
     28          printf("输入错误,请重新输入0~100之间的年限:
    ");
     29          scanf("%d",&N);
     30      }
     31      printf("年复利次数:");
     32      scanf("%d",&m);
     33      while(m<=0)
     34      {
     35          printf("输入错误,请重新输入大于0的复利次数:
    ");
     36          scanf("%d",&m);
     37      }
     38      P=F/pow((1+i/m),N*m);
     39      printf("年复利终值为%.4lf需要本金为:%.4lf
    ",F,P);
     40 }
     41 void fuli()//计算复利终值
     42 {
     43      int N,m;
     44      double i,F,P;
     45      printf("存入本金:");
     46      scanf("%lf",&P);
     47      while(P<=0  ||  P>999999999)
     48      {
     49          printf("输入错误,请重新输入大于0的本金:
    ");
     50          scanf("%lf",&P);
     51      }
     52      printf("年利率:");
     53      scanf("%lf",&i);
     54      while(i<=0 || i>=1)
     55      {
     56          printf("输入错误,请重新输入0~1之间的利率:
    ");
     57          scanf("%lf",&i);
     58      }
     59      printf("存入年限:");
     60      scanf("%d",&N);
     61      printf("年复利次数:");
     62      scanf("%d",&m);
     63      F=P*pow((1+i/m),N*m);
     64      printf("复利终值:%.4lf
    ",F);
     65 }
     66 void danli()//单利计算
     67 {
     68      int N;
     69      double i,H,P,L;
     70      printf("存入本金:");
     71      scanf("%lf",&P);
     72      while(P<=0  ||  P>999999999)
     73      {
     74          printf("输入错误,请重新输入大于0的本金:
    ");
     75          scanf("%lf",&P);
     76      }
     77      printf("年利率:");
     78      scanf("%lf",&i);
     79      while(i<=0 || i>=1)
     80      {
     81          printf("输入错误,请重新输入0~1之间的利率:
    ");
     82          scanf("%lf",&i);
     83      }
     84      printf("存入年限:");
     85      scanf("%d",&N);
     86      L=P*N*i;
     87      H=L+P;
     88      printf("本息和为:%.4lf
    ",H);
     89 }
     90 void years()//求年份
     91 {
     92      int N,m;
     93      double i,F,P;
     94      printf("复利终值:");
     95      scanf("%lf",&F);
     96      printf("存入本金:");
     97      scanf("%lf",&P);
     98      printf("年利率:");
     99      scanf("%lf",&i);
    100      while(i<=0 || i>=1)
    101      {
    102          printf("输入错误,请重新输入0~1之间的利率:
    ");
    103          scanf("%lf",&i);
    104      }
    105      printf("年复利次数:");
    106      scanf("%d",&m);
    107      N=(int)(log(F/P)/log(1+i/m)/m);
    108      printf("从%.4lf到%.4lf需要%d年
    ",P,F,N);
    109 }
    110 void nianlilv()//计算年利率
    111 {
    112      int N,m;
    113      double i,F,P;
    114      printf("复利终值:");
    115      scanf("%lf",&F);
    116      printf("存入本金:");
    117      scanf("%lf",&P);
    118      printf("存入年限:");
    119      scanf("%d",&N);
    120      printf("年复利次数:");
    121      scanf("%d",&m);
    122      i=m*(pow(F/P,1.0/(N*m))-1);
    123      printf("从%.4lf到%.4lf需要%.4lf
    ",P,F,i);
    124 }
    125 void nianjinzhongzhi()//计算年金终值
    126 {
    127      int N,n;
    128      double i,F,P;
    129      printf("存入本金:");
    130      scanf("%lf",&P);
    131      while(P<=0  ||  P>999999999)
    132      {
    133          printf("输入错误,请重新输入大于0的本金:
    ");
    134          scanf("%lf",&P);
    135      }
    136      printf("存入年限:");
    137      scanf("%d",&N);
    138      printf("年利率:");
    139      scanf("%lf",&i);
    140      while(i<=0 || i>=1)
    141      {
    142          printf("输入错误,请重新输入0~1之间的利率:
    ");
    143          scanf("%lf",&i);
    144      }
    145      printf("		1:按年投资
    		2:按月投资
    ");
    146 A:printf("请选择你要的功能<1|2>:");
    147      scanf("%d",&n);
    148      if(n==1)
    149      {
    150          F=P*(pow(1+i,N)-1)/i;
    151          
    152      }
    153      else if(n==2)
    154      {
    155          F=N*12*(P*(i/12)+P);
    156      }
    157      else
    158      {
    159          printf("输入有误!请重新输入
    ");
    160          goto A;
    161      }
    162      printf("%d年后的总产值:%.4lf
    ",N,F);
    163 
    164 }
    165 void benxi()//本息
    166 {
    167     double F,i,P;
    168     int N;
    169     printf("输入贷款金额:");
    170     scanf("%lf",&F);
    171     printf("输入贷款时间(年):");
    172     scanf("%D",&N);
    173     printf("输入年利率:");
    174     scanf("%lf",&i);
    175     while(i<=0 || i>=1)
    176      {
    177          printf("输入错误,请重新输入0~1之间的利率:
    ");
    178          scanf("%lf",&i);
    179      }
    180     P=F*i/(12*(1+i)*(pow(1+i,N)-1));
    181     printf("贷款%.4lf每月需要还款:%.4lf
    ",F,P);
    182 
    183 }
    184 void menu()//菜单
    185 {
    186        printf("		|-----------------------------------|
    ");
    187        printf("		|             欢迎欢迎              |
    ");
    188        printf("		|-----------------------------------|
    ");
    189        printf("		|           1:计算本金              |
    ");
    190        printf("		|           2:计算年复利终值        |
    ");
    191        printf("		|           3:单利计算              |
    ");
    192        printf("		|           4:计算年份              |
    ");
    193        printf("		|           5:计算年利率            |
    ");
    194        printf("		|           6:年金终值              |
    ");
    195        printf("		|           7:贷款金额              |
    ");
    196        printf("		|           0:结束                  |
    ");
    197        printf("		|-----------------------------------|
    ");
    198        printf("请输入你要选择的功能(0~7):
    ");
    199 
    200 }
    201 void main()
    202 {
    203      int n;
    204      while(1)
    205      {
    206          menu();
    207          scanf("%d",&n);
    208          if(n==0)
    209              break;
    210          switch(n)
    211          {
    212             case 1:
    213                 benjin();break;
    214             case 2:
    215                 fuli();break;
    216             case 3:
    217                  danli();break;
    218             case 4:
    219                  years();break;
    220             case 5:
    221                  nianlilv();break;
    222             case 6:
    223                  nianjinzhongzhi();break;
    224             case 7:
    225                 benxi();break;
    226             case 0:n=0;break;    
    227 
    228          }
    229           getch();
    230      }
    231 }
    
    
  • 相关阅读:
    关于C#调用VC SDK小结
    失业日志:2009年10月15日 猫 老鼠 人(一)
    闲聊日志 一:
    按编号分类的树
    不知不觉又用到了VC6
    这个问题很郁闷.net mvc,也可能我不知道
    失业日志:2008年10月13日
    失业日志:2009年10月16日 能回忆多少就写多少
    失业日志:2009年10月12日星期一
    失业日志 200910月22日
  • 原文地址:https://www.cnblogs.com/joker317/p/5338704.html
Copyright © 2011-2022 走看看