1 #include<stdio.h>
2 #include<stdlib.h>
3 #include<math.h>
4 void Compounding(){
5 int n,k;
6 double F,P;
7 float i;
8 printf("|-----------------------------------------|
");
9 printf(" 请输入你所存入的本金:");
10 scanf("%lf",&P);
11 printf("|-----------------------------------------|
");
12 printf(" 请输入你所存的年利率比:");
13 scanf("%f",&i);
14 printf("|-----------------------------------------|
");
15 printf(" 请输入你所存的年限:");
16 scanf("%d",&n);
17 printf("|-----------------------------------------|
");
18 printf(" 请输入你所存的复利次数:");
19 scanf("%d",&k);
20 printf("|-----------------------------------------|
");
21 F=P*pow(i/k+1,k*n);
22 printf("
通过复利存款,你所获得的金额为:%.4lf
",F);
23 }
24
25 void Simple_Interested(){
26 int n;
27 double F,P;
28 float i;
29 printf("|-----------------------------------------|
");
30 printf(" 请输入你所存入的本金:");
31 scanf("%lf",&P);
32 printf("|-----------------------------------------|
");
33 printf(" 请输入你所存的周期利息:");
34 scanf("%f",&i);
35 printf("|-----------------------------------------|
");
36 printf(" 请输入你所存的周期数:");
37 scanf("%d",&n);
38 printf("|-----------------------------------------|
");
39 F=P*(1+i*n);
40 printf("
通过单利存款,你所获得的金额为:%.4lf
",F);
41 }
42
43 void Comparison(){
44 printf(" <复利计算器>
");
45 Compounding();
46 printf(" <单利计算器>
");
47 Simple_Interested();
48 }
49
50 void Count_Deposit(){
51 double F,P;
52 float i;
53 int n,k,a;
54 printf("
请输入你希望获得的最终金额为:");
55 scanf("%lf",&F);
56 printf("
请输入你选的存款方式(1、复利;2、单利):");
57 scanf("%d",&a);
58 switch(a)
59 {
60 case 1:
61 printf("
请输入<<复利>>存款的信息!!!!!
");
62 printf("|-----------------------------------------|
");
63 printf(" 请输入<<复利>>你所存的年利率比:");
64 scanf("%f",&i);
65 printf("|-----------------------------------------|
");
66 printf(" 请输入<<复利>>你所存的年限:");
67 scanf("%d",&n);
68 printf("|-----------------------------------------|
");
69 printf(" 请输入<<复利>>你所存的复利次数:");
70 scanf("%d",&k);
71 printf("|-----------------------------------------|
");
72 P=F/pow(i/k+1,k*n);
73 printf("
通过复利存款,你所需要的存款金额为:%lf
",P);
74 break;
75 case 2:
76 printf("请输入<<单利>>存款的信息!!!!!
");
77 printf("|-----------------------------------------|
");
78 printf(" 请输入<<单利>>你所存的周期利息:");
79 scanf("%f",&i);
80 printf("|-----------------------------------------|
");
81 printf(" 请输入<<单利>>你所存的周期数(年份):");
82 scanf("%d",&n);
83 printf("|-----------------------------------------|
");
84 P=F/(1+i*n);
85 printf("
通过单利存款,你所需要的存款金额为:%lf
",P);
86 break;
87 }
88 }
89
90 void Count_Year(){
91 double n,F,P;
92 float i;
93 int k,a;
94 printf("
请输入你所存的金额为:");
95 scanf("%lf",&P);
96 printf("
请输入你希望获得的最终金额为:");
97 scanf("%lf",&F);
98 printf("
请输入你选的存款方式(1、复利;2、单利):");
99 scanf("%d",&a);
100 switch(a)
101 {
102 case 1:
103 printf("
请输入<<复利>>存款的信息!!!!!
");
104 printf("|-----------------------------------------|
");
105 printf(" 请输入<<复利>>你所存的年利率比:");
106 scanf("%f",&i);
107 printf("|-----------------------------------------|
");
108 printf(" 请输入<<复利>>你所存的复利次数:");
109 scanf("%d",&k);
110 printf("|-----------------------------------------|
");
111 n=log(F/P)/log(i/k+1)/k;
112 printf("
通过复利存款,你所需要的存款年限为:%lf
",n);
113 break;
114 case 2:
115 printf("请输入<<单利>>存款的信息!!!!!
");
116 printf("|-----------------------------------------|
");
117 printf(" 请输入<<单利>>你所存的周期利息:");
118 scanf("%f",&i);
119 printf("|-----------------------------------------|
");
120 n=(F/P-1)/i;
121 printf("
通过单利存款,你所需要的存款年限为:%lf
",n);
122 break;
123 }
124 }
125
126 void Count_Interest(){
127 double F,P,b,i;
128 int k,a,n;
129 printf("
请输入你所存的金额为:");
130 scanf("%lf",&P);
131 printf("
请输入你希望获得的最终金额为:");
132 scanf("%lf",&F);
133 printf("
请输入你所存款的年限:");
134 scanf("%d",&n);
135 printf("
请输入你选的存款方式(1、复利;2、单利):");
136 scanf("%d",&a);
137 switch(a)
138 {
139 case 1:
140 printf("
请输入<<复利>>存款的信息!!!!!
");
141 printf("|-----------------------------------------|
");
142 printf(" 请输入<<复利>>你所存的复利次数:");
143 scanf("%d",&k);
144 printf("|-----------------------------------------|
");
145 b=(double)1/(k*n);
146 i=(pow(F/P,b)-1)*k;
147 printf("
通过复利存款,你所需要的存款的利率为:%lf
",i);
148 break;
149 case 2:
150 i=(F/P-1)/n;
151 printf("
通过单利计算,你所需要的存款的利率为:%lf
",i);
152 break;
153 }
154 }
155
156 void Count_Money(){
157 int n,a;
158 double F,P;
159 float i;
160 printf("|-----------------------------------------|
");
161 printf(" 请输入你每次所投入的本金:");
162 scanf("%lf",&P);
163 printf("|-----------------------------------------|
");
164 printf(" 请输入你所投本金的利息:");
165 scanf("%f",&i);
166 printf("|-----------------------------------------|
");
167 printf(" 请输入你所存款的年限:");
168 scanf("%d",&n);
169 printf("|-----------------------------------------|
");
170 printf("
请输入你选的存款方式(1、年投;2、月投):");
171 scanf("%d",&a);
172 switch(a)
173 {
174 case 1:
175 F=P*(1+i)*(pow(1+i,n)-1)/i;
176 break;
177 case 2:
178 F=P*(1+i/12)*(pow(1+i/12,12*n)-1)/(i/12);
179 break;
180 }
181 printf("
存款%d年,你所获得的金额为:%.4lf
",n,F);
182 }
183
184
185 void main(){
186 char t;
187 int a;
188 printf("|-----------------------------------------|
");
189 printf("| 1、用复利计算 |
");
190 printf("|-----------------------------------------|
");
191 printf("| 2、用单利计算 |
");
192 printf("|-----------------------------------------|
");
193 printf("| 3、输出复利计算、单利计算的结果 |
");
194 printf("|-----------------------------------------|
");
195 printf("| 4、输入终值求存款 |
");
196 printf("|-----------------------------------------|
");
197 printf("| 5、输入终值、存款求所需年份 |
");
198 printf("|-----------------------------------------|
");
199 printf("| 6、输入终值、存款、年份求利率 |
");
200 printf("|-----------------------------------------|
");
201 printf("| 7、输每年(月)投入本金,求几年后的终值 |
");
202 printf("|-----------------------------------------|
");
203 loop:
204 printf("
请输入你的选择:");
205 scanf("%d",&a);
206 switch(a)
207 {
208 case 1:
209 system("cls");
210 t=getchar();
211 Compounding();
212 break;
213 case 2:
214 system("cls");
215 t=getchar();
216 Simple_Interested();
217 break;
218 case 3:
219 system("cls");
220 t=getchar();
221 Comparison();
222 break;
223 case 4:
224 system("cls");
225 t=getchar();
226 Count_Deposit();
227 break;
228 case 5:
229 system("cls");
230 t=getchar();
231 Count_Year();
232 break;
233 case 6:
234 system("cls");
235 t=getchar();
236 Count_Interest();
237 break;
238 case 7:
239 system("cls");
240 t=getchar();
241 Count_Money();
242 break;
243 default:
244 printf("输入错误!请重新输入!
");
245 goto loop;
246 }
247 }
1、年份
2、利率
3、年(月)投入