复利计算-3
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("|-----------------------------------------|\n"); 9 printf(" 请输入你所存入的本金:"); 10 scanf("%lf",&P); 11 printf("|-----------------------------------------|\n"); 12 printf(" 请输入你所存的年利率比:"); 13 scanf("%f",&i); 14 printf("|-----------------------------------------|\n"); 15 printf(" 请输入你所存的年限:"); 16 scanf("%d",&n); 17 printf("|-----------------------------------------|\n"); 18 printf(" 请输入你所存的复利次数:"); 19 scanf("%d",&k); 20 printf("|-----------------------------------------|\n"); 21 F=P*pow(i/k+1,k*n); 22 printf("\n通过复利存款,你所获得的金额为:%.4lf\n\n",F); 23 } 24 25 void Simple_Interested(){ 26 int n; 27 double F,P; 28 float i; 29 printf("|-----------------------------------------|\n"); 30 printf(" 请输入你所存入的本金:"); 31 scanf("%lf",&P); 32 printf("|-----------------------------------------|\n"); 33 printf(" 请输入你所存的周期利息:"); 34 scanf("%f",&i); 35 printf("|-----------------------------------------|\n"); 36 printf(" 请输入你所存的周期数:"); 37 scanf("%d",&n); 38 printf("|-----------------------------------------|\n"); 39 F=P*(1+i*n); 40 printf("\n通过单利存款,你所获得的金额为:%.4lf\n\n",F); 41 } 42 43 void Comparison(){ 44 printf("\t\t<复利计算器>\n"); 45 Compounding(); 46 printf("\t\t<单利计算器>\n"); 47 Simple_Interested(); 48 } 49 50 void Count_Deposit(){ 51 double F,P; 52 float i; 53 int n,k,a; 54 printf("\n请输入你希望获得的最终金额为:"); 55 scanf("%lf",&F); 56 printf("\n请输入你选的存款方式(1、复利;2、单利):"); 57 scanf("%d",&a); 58 switch(a) 59 { 60 case 1: 61 printf("\n请输入<<复利>>存款的信息!!!!!\n"); 62 printf("|-----------------------------------------|\n"); 63 printf(" 请输入<<复利>>你所存的年利率比:"); 64 scanf("%f",&i); 65 printf("|-----------------------------------------|\n"); 66 printf(" 请输入<<复利>>你所存的年限:"); 67 scanf("%d",&n); 68 printf("|-----------------------------------------|\n"); 69 printf(" 请输入<<复利>>你所存的复利次数:"); 70 scanf("%d",&k); 71 printf("|-----------------------------------------|\n"); 72 P=F/pow(i/k+1,k*n); 73 printf("\n通过复利存款,你所需要的存款金额为:%lf\n\n",P); 74 break; 75 case 2: 76 printf("请输入<<单利>>存款的信息!!!!!\n"); 77 printf("|-----------------------------------------|\n"); 78 printf(" 请输入<<单利>>你所存的周期利息:"); 79 scanf("%f",&i); 80 printf("|-----------------------------------------|\n"); 81 printf(" 请输入<<单利>>你所存的周期数(年份):"); 82 scanf("%d",&n); 83 printf("|-----------------------------------------|\n"); 84 P=F/(1+i*n); 85 printf("\n通过单利存款,你所需要的存款金额为:%lf\n\n",P); 86 break; 87 } 88 } 89 90 void Count_Year(){ 91 double n,F,P; 92 float i; 93 int k,a; 94 printf("\n请输入你所存的金额为:"); 95 scanf("%lf",&P); 96 printf("\n请输入你希望获得的最终金额为:"); 97 scanf("%lf",&F); 98 printf("\n请输入你选的存款方式(1、复利;2、单利):"); 99 scanf("%d",&a); 100 switch(a) 101 { 102 case 1: 103 printf("\n请输入<<复利>>存款的信息!!!!!\n"); 104 printf("|-----------------------------------------|\n"); 105 printf(" 请输入<<复利>>你所存的年利率比:"); 106 scanf("%f",&i); 107 printf("|-----------------------------------------|\n"); 108 printf(" 请输入<<复利>>你所存的复利次数:"); 109 scanf("%d",&k); 110 printf("|-----------------------------------------|\n"); 111 n=log(F/P)/log(i/k+1)/k; 112 printf("\n通过复利存款,你所需要的存款年限为:%lf\n\n",n); 113 break; 114 case 2: 115 printf("请输入<<单利>>存款的信息!!!!!\n"); 116 printf("|-----------------------------------------|\n"); 117 printf(" 请输入<<单利>>你所存的周期利息:"); 118 scanf("%f",&i); 119 printf("|-----------------------------------------|\n"); 120 n=(F/P-1)/i; 121 printf("\n通过单利存款,你所需要的存款年限为:%lf\n\n",n); 122 break; 123 } 124 } 125 126 void Count_Interest(){ 127 double F,P,b,i; 128 int k,a,n; 129 printf("\n请输入你所存的金额为:"); 130 scanf("%lf",&P); 131 printf("\n请输入你希望获得的最终金额为:"); 132 scanf("%lf",&F); 133 printf("\n请输入你所存款的年限:"); 134 scanf("%d",&n); 135 printf("\n请输入你选的存款方式(1、复利;2、单利):"); 136 scanf("%d",&a); 137 switch(a) 138 { 139 case 1: 140 printf("\n请输入<<复利>>存款的信息!!!!!\n"); 141 printf("|-----------------------------------------|\n"); 142 printf(" 请输入<<复利>>你所存的复利次数:"); 143 scanf("%d",&k); 144 printf("|-----------------------------------------|\n"); 145 b=(double)1/(k*n); 146 i=(pow(F/P,b)-1)*k; 147 printf("\n通过复利存款,你所需要的存款的利率为:%lf\n\n",i); 148 break; 149 case 2: 150 i=(F/P-1)/n; 151 printf("\n通过单利计算,你所需要的存款的利率为:%lf\n\n",i); 152 break; 153 } 154 } 155 156 void Count_Money(){ 157 int n,a; 158 double F,P; 159 float i; 160 printf("|-----------------------------------------|\n"); 161 printf(" 请输入你每次所投入的本金:"); 162 scanf("%lf",&P); 163 printf("|-----------------------------------------|\n"); 164 printf(" 请输入你所投本金的利息:"); 165 scanf("%f",&i); 166 printf("|-----------------------------------------|\n"); 167 printf(" 请输入你所存款的年限:"); 168 scanf("%d",&n); 169 printf("|-----------------------------------------|\n"); 170 printf("\n请输入你选的存款方式(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("\n存款%d年,你所获得的金额为:%.4lf\n\n",n,F); 182 } 183 184 185 void main(){ 186 char t; 187 int a; 188 printf("|-----------------------------------------|\n"); 189 printf("| 1、用复利计算 |\n"); 190 printf("|-----------------------------------------|\n"); 191 printf("| 2、用单利计算 |\n"); 192 printf("|-----------------------------------------|\n"); 193 printf("| 3、输出复利计算、单利计算的结果 |\n"); 194 printf("|-----------------------------------------|\n"); 195 printf("| 4、输入终值求存款 |\n"); 196 printf("|-----------------------------------------|\n"); 197 printf("| 5、输入终值、存款求所需年份 |\n"); 198 printf("|-----------------------------------------|\n"); 199 printf("| 6、输入终值、存款、年份求利率 |\n"); 200 printf("|-----------------------------------------|\n"); 201 printf("| 7、输每年(月)投入本金,求几年后的终值 |\n"); 202 printf("|-----------------------------------------|\n"); 203 loop: 204 printf("\n请输入你的选择:"); 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("输入错误!请重新输入!\n"); 245 goto loop; 246 } 247 }
1、年份
2、利率
3、年(月)投入
posted on 2016-03-17 16:47 Glp_Moliny 阅读(219) 评论(2) 编辑 收藏 举报