zoukankan      html  css  js  c++  java
  • 复利计算3

      1 #include<stdio.h>
      2 #include<math.h>
      3 #include<conio.h>
      4 void tip()//计算公式和一些变量的介绍
      5 {
      6      printf("复利计算软件
    ");
      7      printf("    复利计算公式:F=P*pow((1+i/m),N*m)
    ");
      8      printf("    单利计算公式:L=P*N*i;H=L+P
    ");
      9      printf("	F:复利终值|年金终值
    ");
     10      printf("	P:本金
    ");
     11      printf("	i:利率
    ");
     12      printf("	H:本利和
    ");
     13      printf("	N:利率获取时间的整数倍
    ");
     14      printf("	m:年复利次数(一年当中的滚利次数)
    ");
     15 }
     16 void menu()//菜单
     17 {
     18        printf("		|-----------------------------------|
    ");
     19        printf("		|             welcome               |
    ");
     20        printf("		|-----------------------------------|
    ");
     21        printf("		|           1:计算本金              |
    ");
     22        printf("		|           2:计算年复利终值        |
    ");
     23        printf("		|           3:单利计算              |
    ");
     24        printf("		|           4:计算年份              |
    ");
     25        printf("		|           5:计算年利率            |
    ");
     26        printf("		|           6:年金终值(年|月)       |
    ");
     27        printf("		|           0:结束                  |
    ");
     28        printf("		|-----------------------------------|
    ");
     29        printf("请输入你要选择的功能(0~6):
    ");
     30 
     31 }
     32 void benjin()//计算本金
     33 {
     34      int N,m;
     35      double i,F,P;
     36      printf("复利终值:");
     37      scanf("%lf",&F);
     38      printf("年利率:");
     39      scanf("%lf",&i);
     40      printf("存入年限:");
     41      scanf("%d",&N);
     42      printf("年复利次数:");
     43      scanf("%d",&m);
     44      P=F/pow((1+i/m),N*m);
     45      printf("年复利终值为%.4lf需要本金为:%.4lf
    ",F,P);
     46 }
     47 void fuli()//计算复利终值
     48 {
     49      int N,m;
     50      double i,F,P;
     51      printf("存入本金:");
     52      scanf("%lf",&P);
     53      printf("年利率:");
     54      scanf("%lf",&i);
     55      printf("存入年限:");
     56      scanf("%d",&N);
     57      printf("年复利次数:");
     58      scanf("%d",&m);
     59      F=P*pow((1+i/m),N*m);
     60      printf("复利终值:%.4lf
    ",F);
     61 }
     62 void danli()//单利计算
     63 {
     64      int N;
     65      double i,H,P,L;
     66      printf("存入本金:");
     67      scanf("%lf",&P);
     68      printf("年利率:");
     69      scanf("%lf",&i);
     70      printf("存入年限:");
     71      scanf("%d",&N);
     72      L=P*N*i;
     73      H=L+P;
     74      printf("本息和为:%.4lf
    ",H);
     75 }
     76 void years()//求年份
     77 {
     78      int N,m;
     79      double i,F,P;
     80      printf("复利终值:");
     81      scanf("%lf",&F);
     82      printf("存入本金:");
     83      scanf("%lf",&P);
     84      printf("年利率:");
     85      scanf("%lf",&i);
     86      printf("年复利次数:");
     87      scanf("%d",&m);
     88      N=(int)(log(F/P)/log(1+i/m)/m);
     89      printf("从%.4lf到%.4lf需要%d年
    ",P,F,N);
     90 }
     91 void annual_int_rate()//计算年利率
     92 {
     93      int N,m;
     94      double i,F,P;
     95      printf("复利终值:");
     96      scanf("%lf",&F);
     97      printf("存入本金:");
     98      scanf("%lf",&P);
     99      printf("存入年限:");
    100      scanf("%d",&N);
    101      printf("年复利次数:");
    102      scanf("%d",&m);
    103      i=m*(pow(F/P,1.0/(N*m))-1);
    104      printf("从%.4lf到%.4lf需要%.4lf
    ",P,F,i);
    105 }
    106 void YM_final_value_annuity()//计算年金终值
    107 {
    108      int N,n;
    109      double i,F,P;
    110      printf("存入本金:");
    111      scanf("%lf",&P);
    112      printf("存入年限:");
    113      scanf("%d",&N);
    114      printf("年利率:");
    115      scanf("%lf",&i);
    116      printf("		1:按年投资
    		2:按月投资
    ");
    117 A:printf("请选择你要的功能<1|2>:");
    118      scanf("%d",&n);
    119      if(n==1)
    120      {
    121          F=P*(pow(1+i,N)-1)/i;
    122          
    123      }
    124      else if(n==2)
    125      {
    126          F=N*12*(P*(i/12)+P);
    127      }
    128      else
    129      {
    130          printf("输入有误!请重新输入
    ");
    131          goto A;
    132      }
    133      printf("%d年后的总产值:%.4lf
    ",N,F);
    134 
    135 }
    136 void main()
    137 {
    138      int n;
    139      while(1)
    140      {
    141          tip();
    142          menu();
    143          scanf("%d",&n);
    144          if(n==0)
    145              break;
    146          switch(n)
    147          {
    148             case 1:
    149                 benjin();break;
    150             case 2:
    151                 fuli();break;
    152             case 3:
    153                  danli();break;
    154             case 4:
    155                  years();break;
    156             case 5:
    157                  annual_int_rate();break;
    158             case 6:
    159                  YM_final_value_annuity();break;
    160             case 0:n=0;break;    
    161 
    162          }
    163           getch();
    164      }
    165 }

  • 相关阅读:
    如何获取显示器的EDID信息
    VGA
    RK3288 GMAC整理
    基于嵌入式Linux的千兆以太网卡驱动程序设计及测试
    module_param和module_param_array用法
    OSI七层协议模型、TCP/IP四层模型学习笔记
    999
    git
    最小生成树 (Minimum Spanning Tree,MST) --- Kruskal算法
    并查集 (Disjoint Set)
  • 原文地址:https://www.cnblogs.com/zzy999/p/5284925.html
Copyright © 2011-2022 走看看