zoukankan      html  css  js  c++  java
  • 复利单利计算的代码

    1.客户说:帮我开发一个复利计算软件。

    客户提出:

    2.如果按照单利计算,本息又是多少呢?

    3.假如30年之后要筹措到300万元的养老金,平均的年回报率是3%,那么,现在必须投入的本金是多少呢?

    客户又想:

    4.利率这么低,复利计算收益都这么厉害了,如果拿100万元去买年报酬率10%的股票,若一切顺利,过多长时间,100万元就变成200万元呢? 

      1 #include<stdio.h> 
      2 #include<math.h> 
      3 void meun(); 
      4 void captical_profit(int temp);
      5 void captica(int temp);
      6 void time(int temp);
      7  main() 
      8  { 
      9      int temp;
     10     char temp0,temp1;
     11      meun(); 
     12 lab:    printf("请选择种类:"); 
     13      scanf("%d",&temp);
     14     if(temp>0&&temp<6)   //判断输入是否正确
     15     { 
     16         while(1)  //循环选择
     17         {
     18         if(temp>0&&temp<4) 
     19             captical_profit(temp); //求本利和
     20         else if(temp==4)
     21             captica(temp);        //求本金
     22         else if(temp==5)
     23             time(temp);
     24         else if(temp==6) 
     25             return 0;     
     26         meun(); 
     27         printf("是否需要继续选择(y/n):"); 
     28         getchar();
     29         scanf("%c",&temp0);
     30         if(temp0=='y')
     31             goto lab;
     32         else
     33             break;
     34         }
     35     }
     36     else  //输入错误
     37     {
     38         printf("输入错误!
    
    是否要重新输入(y/n):");
     39         getchar();
     40         scanf("%c",&temp1);
     41         if(temp1=='y')
     42             goto lab;
     43         else
     44             return 0;
     45     }
     46  } 
     47  //菜单
     48  void meun() 
     49  { 
     50      printf("*******************************
    "); 
     51      printf("*       1 一次支付复利        *
    "); 
     52      printf("*       2 等额多次支付复利    *
    "); 
     53      printf("*       3 单利计算            *
    ");
     54     printf("*       4 投入的本金计算      *
    ");
     55     printf("*       5 计息期数            *
    ");
     56     printf("*       6 退出                *
    ");
     57      printf("*******************************
    "); 
     58  } 
     59  void captical_profit(int temp) 
     60  { 
     61      int n; 
     62      double P,i,F; 
     63      printf("请输入期初金额:"); 
     64      scanf("%lf",&P); 
     65      printf("请输入利率:"); 
     66      scanf("%lf",&i); 
     67      printf("请输入计息期数:"); 
     68      scanf("%d",&n); 
     69     switch(temp)
     70     {
     71     case 1:
     72         F=P*(pow((1+i),n));     //一次支付复利计算
     73         break;
     74     case 2:
     75          F=(P*(pow((1+i),n)-1))/i; //多次等额复利计算
     76         break;
     77     case 3:
     78         F=P*(1+i*n);    //单利计算
     79         break;
     80     }
     81      printf("本利和为:%lf
    
    ",F); 
     82  } 
     83  //求本金
     84  void captica(int temp) 
     85  { 
     86      int n; 
     87      double P,i,F; 
     88      printf("请输入本利和:"); 
     89      scanf("%lf",&F); 
     90      printf("请输入年回报率:"); 
     91      scanf("%lf",&i); 
     92      printf("请输入计息期数:"); 
     93      scanf("%d",&n); 
     94      P=F/(pow((1+i),n)); 
     95      printf("本金为:%lf
    
    ",P); 
     96  }
     97 
     98 //求计息期数
     99  void time(int temp)
    100  {
    101      int n,flat=0; 
    102      double P,i,F; 
    103      printf("请输入本利和:"); 
    104      scanf("%lf",&F); 
    105      printf("请输入年回报率:"); 
    106      scanf("%lf",&i); 
    107      printf("请输入本金:"); 
    108      scanf("%lf",&P); 
    109      for(n=1;n<100;n++)    //穷举法求100年满足的计息期数
    110     {
    111         if((P*(pow((1+i),n)))>=F)
    112         {
    113             printf("计息期数:%d
    
    ",n);
    114             flat=1;
    115             break;
    116         }
    117     }
    118     if(flat==0)
    119         printf("在100年内没有符合计息期数!
    
    ");
    120 
    121  }
  • 相关阅读:
    CSP2019题解
    [NOI2019]弹跳(KD-Tree)
    集合框架面试题
    注解
    WiFi攻防
    简单完整讲述Servlet生命周期
    Java多线程
    Java--面向对象讲解
    layUi
    java提高篇(三)-----理解java的三大特性之多态
  • 原文地址:https://www.cnblogs.com/qiuhuimin/p/5271071.html
Copyright © 2011-2022 走看看