此版本,只是实验用途,可以满足用户对于 投资中的复利计算,单利计算,本金估算,投资时间估算,最佳项目利率估算,定期投资收益计算等等。
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 }