复利4.0

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了复利4.0相关的知识,希望对你有一定的参考价值。

程序完成时间为3月20日17:08分。

发表时间为3月20日17:20分。

此程序是完善版

  1 #include<stdio.h>
  2 #include<math.h>
  3 #include<stdlib.h>
  4 void caidan();
  5 void danlijisuan();
  6 void fulijisuan();
  7 void jisuanqishu();
  8 void jisuanhuibaolv();
  9 void dingtoujisuan();
 10 void dengebenxijisuan();
 11 main()
 12 {
 13     printf("\n");
 14     printf("\n");
 15     printf("\t\t22222222222----------1、单利计算;----------22222222222\t\t\n");
 16     printf("\t\t22222222222----------2、复利计算;----------22222222222\t\t\n");
 17     printf("\t\t22222222222----------3、计算期数;----------22222222222\t\t\n");
 18     printf("\t\t22222222222----------4、计算利息;----------22222222222\t\t\n");
 19     printf("\t\t22222222222----------5、计算定投收益;----------2222222\t\t\n");
 20     printf("\t\t22222222222----------6、计算等额本息还款;----------222\t\t\n");
 21     printf("\t\t22222222222----------7、退出;----------222222222222222\t\t\n");
 22     printf("\n");
 23     printf("\n");
 24     caidan();
 25 }
 26 void caidan()
 27 {
 28     //int year;
 29     //double rate,ben;
 30     int i;
 31     int flag=0;
 32     double sum=0.0,sum1=0.0;
 33     printf("\t-----------欢迎进入复利计算器;-----------------");
 34     printf("\n");
 35     printf("请输入1-7:");
 36     scanf("%d",&i);
 37     if(i>=1&&i<=7)
 38     {
 39         switch(i)
 40         {
 41         case 1:
 42             danlijisuan();
 43             break;
 44         case 2:
 45             fulijisuan();
 46             break;
 47         case 3:
 48             jisuanqishu();
 49             break;
 50         case 4:
 51             jisuanhuibaolv();
 52             break;
 53         case 5:
 54             dingtoujisuan();
 55             break;
 56         case 6:
 57             dengebenxijisuan();
 58             break;
 59         case 7:
 60             exit(1);
 61             printf("\n");
 62             break;
 63         }
 64     }
 65     else
 66     {
 67         printf("有误,重新输入");
 68         printf("\n");
 69         caidan();
 70     }
 71 } 
 72 void danlijisuan()
 73 {
 74     int year;
 75     double rate,ben;
 76     //int n,i;
 77     int flag=0;
 78     double sum=0.0,sum1=0.0;
 79     printf("\t----------单利计算------------");
 80     printf("\n");
 81     printf("输入年值year:");
 82     scanf("%d",&year);
 83     printf("输入rate:");
 84     scanf("%lf",&rate);
 85     printf("输入本金:");
 86     scanf("%lf",&ben);
 87     sum=ben+ben*rate*year;
 88     printf("单利终值为%lf",sum);
 89 }
 90 void fulijisuan()
 91 {
 92     int year;
 93     double rate,ben;
 94     int n;
 95     int flag=0;
 96     double sum=0.0,sum1=0.0;
 97     printf("\t---------复利计算------------");
 98     printf("\n");
 99     printf("输入年值year:");
100     scanf("%d",&year);
101     printf("输入rate:");    
102     scanf("%lf",&rate);
103     printf("输入本金:");
104     scanf("%lf",&ben);
105     printf("滚率次数n:");    
106     scanf("%d",&n);
107     sum=ben*pow((1+rate)/n,year*n);
108     printf("本利值为%lf",sum);
109     printf("\n");
110 }
111 void jisuanqishu()
112 { 
113     int year;
114     double rate,ben;
115     //int n;
116     int flag=0;
117     double sum=0.0,sum1=0.0;
118     printf("\t---------计算期数------------");
119     printf("\n");
120     printf("输入本利和:"); 
121     scanf("%lf",&sum1); 
122     printf("请输入年回报率:"); 
123     scanf("%lf",&rate); 
124     printf("请输入本金:"); 
125     scanf("%lf",&ben); 
126     for(year=1;year<100;year++)    //穷举法求100年满足的计息期数
127     {
128         if((ben*(pow((1+rate),year)))>=sum1)
129         {
130             printf("计息期数:%d\n\n",year);
131             flag=1;
132             break;
133         }
134     }
135     if(flag==0)
136         printf("没有符合要求的期数!\n\n");
137 }
138 void jisuanhuibaolv()
139 {
140     int year;
141     double rate,ben;
142     //int n;
143     int flag=0;
144     double sum=0.0,sum1=0.0;
145     printf("\t---------计算回报率------------");
146     printf("\n");
147     printf("请输入本利和:"); 
148     scanf("%lf",&sum1); 
149     printf("请输入期数:");
150     scanf("%d",&year);
151     printf("请输入本金:"); 
152     scanf("%lf",&ben); 
153     rate=0.0;
154     while(rate<=1.0)
155     { 
156         if((ben*(pow((1+rate),year)))>=sum1)
157         {
158             printf("报酬率:%lf\n\n",rate);
159             flag=1;
160             break;
161         }
162         else
163             rate=rate+0.00000001;
164     }
165     if(flag==0)
166     {
167         printf("没有符合要求的期数!\n\n");    
168     }
169 }
170 void dingtoujisuan()
171 {
172     double F=0.0,ben=0.0;
173     double rate;
174     int n;
175     int ch;
176     printf("\t---------定投计算------------");
177     printf("\n");
178     printf("请选择:1、年投资;2、月投资;");
179     scanf("%d",&ch);
180     if(ch==1)
181     {
182         printf("请输入年投资额:\n");
183         scanf("%lf",&ben);
184     }
185     else 
186     {
187         printf("请输入月投资额:\n");
188         scanf("%lf",&ben);
189     }
190     printf("请输入收益率:");
191     scanf("%lf",&rate);
192     printf("请输入期限:");
193     scanf("%lf",&n);
194     if(ch==2)
195     {
196         rate=rate/12.0;
197         n=n*12;
198     }
199     F=ben*(1.0+rate)*(-1+pow(1.0+rate,n))/rate;
200     printf("投资额:%lf\n\n",F);
201 }
202 void dengebenxijisuan()
203 {
204     double P,rate,huankuane;
205     int n,month;
206     printf("\t---------等额本息还款计算------------");
207     printf("\n");
208     printf("请输入贷款金额:\n");
209     scanf("%lf",&P);
210     printf("请输入年利率:\n");
211     scanf("%lf",&rate);
212     printf("请输入归还年限:\n");
213     scanf("%d",&n);
214     rate=rate/12;
215     month=n*12;
216     huankuane=P*rate*pow((1.0+rate),month)/(pow(1.0+rate,month)-1);
217     printf("还款额:%lf\n\n",huankuane);
218 }

技术分享技术分享技术分享

以上是关于复利4.0的主要内容,如果未能解决你的问题,请参考以下文章

复利计算器4.0之再遇JUnit

0319 复利计算器4.0

复利计算4.0

复利4.0

复利计算4.0

复利计算4.0