此版本,只是实验用途,可以满足用户对于 投资中的复利计算,单利计算,本金估算,投资时间估算,最佳项目利率估算,定期投资收益计算等等。
1 #include<stdio.h>
2 #include<math.h>
3 #include<stdlib.h>
4
5 double danli()
6 {
7 double P,F,i; //P是本金,F是收益,i年利率
8 int N; //是期限
9 double nlx;
10 printf("请输入本金:\n");
11 scanf("%lf",&P);
12 printf("请输入年利率\n");
13 scanf("%lf",&i);
14 printf("请输入年限:\n");
15 scanf("%d",&N);
16
17 nlx = P*i;
18 F = nlx*N + P;
19 return F;
20
21 }
22
23 double fuli()
24 {
25
26 double P,F,i; //P是本金,F是收益,i年利率
27 int N,W; //是期限
28 printf("请输入本金:\n");
29 scanf("%lf",&P);
30 printf("请输入年利率\n");
31 scanf("%lf",&i);
32 printf("请输入年限:\n");
33 scanf("%d",&N);
34 printf("请输入复利次数:\n");
35 scanf("%d",&W);
36
37 i=pow(1+i/W,W)-1;
38 F=P*pow((i+1),N);
39 return F;
40 }
41
42 double gusuan()
43 {
44 double P,F,i; //P是本金,F是收益,i年利率
45 int N,W; //是期限
46 printf("请输入收益:\n");
47 scanf("%lf",&F);
48 printf("请输入年利率\n");
49 scanf("%lf",&i);
50 printf("请输入年限:\n");
51 scanf("%d",&N);
52 printf("请输入复利次数:\n");
53 scanf("%d",&W);
54 i = pow(1+i/W,W)-1;
55 P = F/pow((i+1),N);
56 return P;
57 }
58
59 double TZtime()
60 {
61 double year;
62 double P,F,i; //P是本金,F是收益,i年利率
63 int N,W; //是期限
64 printf("请输入本金:\n");
65 scanf("%lf",&P);
66 printf("请输入收益:\n");
67 scanf("%lf",&F);
68 printf("请输入年利率\n");
69 scanf("%lf",&i);
70 printf("请输入复利次数:\n");
71 scanf("%d",&W);
72 i = pow((1+i/W),W)-1;
73 year = log(F/P)/log(1+i);
74 return year;
75
76 }
77 double bestProject()
78 {
79 double P,F,i;
80 int N,W;
81 printf("请输入本金:\n");
82 scanf("%lf",&P);
83 printf("请输入收益:\n");
84 scanf("%lf",&F);
85 printf("请输入年限\n");
86 scanf("%d",&N);
87 printf("请输入复利次数:\n");
88 scanf("%d",&W);
89 i = W*(pow(pow(F/P,1.0/N),1.0/W)-1.0);
90 return i;
91
92
93 }
94
95 double sum()
96 {
97 double y,moon,F=0.0,i,mi;
98 double nlx,ylx;
99 int N,W;
100 int ch,j;
101 printf("####### 1-年投资 2-月投资 #######\n");
102 scanf("%d",&ch);
103 if(ch == 1)
104 {
105 printf("请输入年投资额:\n");
106 scanf("%lf",&y);
107 }
108 else
109 {
110 printf("请输入月投资额:\n");
111 scanf("%lf",&moon);
112 }
113
114 printf("请输入年利率\n");
115 scanf("%lf",&i);
116 printf("请输入年限\n");
117 scanf("%d",&N);
118 // printf("请输入复利次数:\n");
119 // scanf("%d",&W);
120 if(ch == 1)
121 {
122 F = y;
123 for(j=0 ; j<N ; j++)
124 {
125 nlx = F*i;
126 F=y+nlx+F;
127 }
128 return F-y;
129 }
130 else
131 {
132 F = moon;
133 mi = i/12.0;
134 for(j=0 ; j<N*12 ; j++)
135 {
136 ylx = F*mi;
137 F=moon+ylx+F;
138 }
139 return F-moon;
140 }
141
142
143 }
144
145 void main()
146 {
147 double F1;
148 int ch2;
149
150 while(1)
151 {
152 printf("***********复利计算机(3.0)**********\n");
153
154 printf("------ 1 复利 ------\n");
155 printf("------ 2 单利 ------\n");
156 printf("------ 3 本金估算 ------\n");
157 printf("------ 4 投资年限估算 ------\n");
158 printf("------ 5 最优投资项目利率估算 ------\n");
159 printf("------ 6 定期投资收益计算 ------\n");
160 printf("------ 0 退出 ------\n");
161 printf("请选择: ");
162 scanf("%d",&ch2);
163 switch(ch2){
164 case 1:
165 F1 = fuli(); break;
166 case 2:
167 F1 = danli(); break;
168 case 3:
169 F1 = gusuan();
170 break;
171 case 4:
172 F1 = TZtime();
173 break;
174 case 5:
175 F1 = bestProject();
176 case 6:
177 F1 = sum();
178 break;
179 case 0:
180 exit(1);
181 break;
182 }
183
184 printf("结果为:%.2lf\n",F1);
185 }
186
187
188 }