首页 > 其他 > 详细

0316复利和单利计算更新4

时间:2016-03-16 12:20:48      阅读:227      评论:0      收藏:0      [点我收藏+]
  1 #include<stdio.h>
  2 #include<math.h>
  3 int year,n;
  4 double p,q,F=0.0;
  5 void innit()
  6 {
  7     printf("注释:p为现金\n");
  8     printf(" year为年限\n");
  9     printf(" n为年复利次数\n");
 10     printf(" q为年利率\n");
 11     printf(" F为年复利终值\n");
 12 }
 13 void menu()
 14 {
 15     printf("\t|------------------------------------|\n");
 16     printf("\t|               welcome              |\n");
 17     printf("\t|------------------------------------|\n");
 18     printf("\t|          1、复利计算               |\n");
 19     printf("\t|          2、单利计算               |\n");
 20     printf("\t|          0、退出系统               |\n");
 21     printf("\t|------------------------------------|\n");
 22 }
 23 //复利计算
 24 void compoundinterest(){
 25     int I;
 26     int ch;
 27 B:printf("\t1、获取复利终值\n");
 28   printf("\t2、根据复利终值获取本金\n");
 29   printf("\t3、估算获得年终值的年限\n");
 30   printf("\t4、估算获得年终值的报酬率\n");
 31   printf("请选择功能<1~4>:");
 32   scanf("%d",&I);
 33   if(I==1)
 34   {
 35       printf("请输入存款金额:");
 36       scanf("%lf",&p);
 37       printf("请输入存入存蓄年限:");
 38       scanf("%d",&year);
 39       printf("请输入年复利次数:");
 40       scanf("%d",&n);
 41       printf("请输入年利率:");
 42       scanf("%lf",&q);
 43       F=p*pow((1+q/n),year*n);
 44       printf("复利终值为%lf:",F);
 45   }
 46   if(I==2)
 47   {
 48       printf("请输入复利终值:");
 49       scanf("%lf",&F);
 50       printf("请输入存入存蓄年限:");
 51       scanf("%d",&year);
 52       printf("请输入年复利次数:");
 53       scanf("%d",&n);
 54       printf("请输入年利率:");
 55       scanf("%lf",&q);
 56       p=F/(pow((1+q/n),year*n));
 57       printf("复利本金为%lf:",p);
 58   }
 59   if(I==3)
 60   {
 61           printf("请输入存款金额:");
 62       scanf("%lf",&p);
 63       printf("请输入年利率:");
 64       scanf("%lf",&q);
 65       printf("请输入年复利次数:");
 66       scanf("%d",&n);
 67       printf("请输入年终值:");
 68           scanf("%lf",&F);
 69 
 70      year=(int)(log(F/p)/log(1+q/n))/n;
 71      // F=p*(1+q*year);
 72       printf("年限为%d\n:",year);
 73 
 74 
 75   }
 76   if(I==4)
 77   {
 78       printf("请输入存款金额:");
 79       scanf("%lf",&p);
 80       printf("请输入存入存蓄年限:");
 81       scanf("%d",&year);
 82       printf("请输入年复利次数:");
 83       scanf("%d",&n);
 84        printf("请输入年终值:");
 85           scanf("%lf",&F);
 86       //F=p*pow((1+q/n),year*n);
 87           q=n*(pow(F/p,1.0/(year*n))-1);
 88       printf("复利的年利率为%lf:\n",q);
 89 
 90   }
 91   printf("\n\t是否要重新计算?(1/0)\n");
 92   scanf("%d",&ch);
 93   if(ch==1)
 94   {
 95       goto B;
 96   }
 97 }
 98 
 99 //单利计算
100 void simpleinterest()
101 {
102     int n;
103     int ch;
104 A:printf("\t1、获取单利终值\n");
105   printf("\t2、根据单利终值获取本金\n");
106   printf("\t3、估算获得年终值的年限\n");
107   printf("\t4、估算获得年终值的报酬率\n");
108   printf("请选择功能<1~4>:");
109   scanf("%d",&n);
110   if(n==1)
111   {
112       
113       printf("请输入存款金额:");
114       scanf("%lf",&p);
115       printf("请输入存入存蓄年限:");
116       scanf("%d",&year);
117       printf("请输入年利率:");
118       scanf("%lf",&q);
119       
120       F=p*(1+q*year);
121       printf("单利终值为%lf\n:",F);}
122   if(n==2)
123   {
124       printf("请输入单复利终值:");
125       scanf("%lf",&F);
126       printf("请输入存入存蓄年限:");
127       scanf("%d",&year);
128       printf("请输入年利率:");
129       scanf("%lf",&q);
130       
131       p=F/(1+q*year);
132       printf("本金为%lf\n:",p);}
133   if(n==3){
134 
135           printf("请输入存款金额:");
136       scanf("%lf",&p);
137       printf("请输入年利率:");
138       scanf("%lf",&q);
139       
140       printf("请输入年终值:");
141           scanf("%lf",&F);
142 
143      year=(int)((F/p-1)/q);
144      // F=p*(1+q*year);
145       printf("年限为%d\n:",year);
146 
147   }
148   if(n==4){
149       printf("请输入存款金额:");
150       scanf("%lf",&p);
151       printf("请输入存入存蓄年限:");
152       scanf("%d",&year);
153        printf("请输入年终值:");
154           scanf("%lf",&F);
155       //F=p*pow((1+q/n),year*n);
156           q=(F/p-1)/year;
157       printf("单利的年利率为%lf:\n",q);
158 
159 
160   }
161   printf("\n\t是否要重新计算?(1/0)\n");
162   scanf("%d",&ch);
163   if(ch==1)
164   {
165       goto A;
166 }}
167 
168 main(){
169     int ch,n;
170     while(1){
171         if(n==0) break;
172         innit();
173         menu();
174         printf("please chose<0~4>:");
175         scanf("%d",&ch);
176         switch(ch){
177         case 1:compoundinterest();break;
178         case 2:simpleinterest();break;
179         case 0:n=0;break;
180 }}}

 

0316复利和单利计算更新4

原文:http://www.cnblogs.com/4249ken/p/5282805.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!