码迷,mamicode.com
首页 > 其他好文 > 详细

复利计算3

时间:2016-03-16 20:49:21      阅读:169      评论:0      收藏:0      [点我收藏+]

标签:

  1 #include<stdio.h>
  2 #include<math.h>
  3 #include<conio.h>
  4 void tip()//计算公式和一些变量的介绍
  5 {
  6      printf("复利计算软件\n");
  7      printf("    复利计算公式:F=P*pow((1+i/m),N*m)\n");
  8      printf("    单利计算公式:L=P*N*i;H=L+P\n");
  9      printf("\tF:复利终值|年金终值\n");
 10      printf("\tP:本金\n");
 11      printf("\ti:利率\n");
 12      printf("\tH:本利和\n");
 13      printf("\tN:利率获取时间的整数倍\n");
 14      printf("\tm:年复利次数(一年当中的滚利次数)\n");
 15 }
 16 void menu()//菜单
 17 {
 18        printf("\t\t|-----------------------------------|\n");
 19        printf("\t\t|             welcome               |\n");
 20        printf("\t\t|-----------------------------------|\n");
 21        printf("\t\t|           1:计算本金              |\n");
 22        printf("\t\t|           2:计算年复利终值        |\n");
 23        printf("\t\t|           3:单利计算              |\n");
 24        printf("\t\t|           4:计算年份              |\n");
 25        printf("\t\t|           5:计算年利率            |\n");
 26        printf("\t\t|           6:年金终值(年|月)       |\n");
 27        printf("\t\t|           0:结束                  |\n");
 28        printf("\t\t|-----------------------------------|\n");
 29        printf("请输入你要选择的功能(0~6):\n");
 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\n",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\n",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\n",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年\n",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\n",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("\t\t1:按年投资\n\t\t2:按月投资\n");
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("输入有误!请重新输入\n");
131          goto A;
132      }
133      printf("%d年后的总产值:%.4lf\n",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 }

技术分享

复利计算3

标签:

原文地址:http://www.cnblogs.com/zzy999/p/5284925.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!