1 #include<stdio.h> 2 #include<math.h> 3 void view() 4 { 5 printf(" |---------------------------------------------|\n"); 6 printf(" | 单/复利计算 |\n"); 7 printf(" |---------------------------------------------|\n"); 8 printf(" |1.单利计算 |\n"); 9 printf(" |---------------------------------------------|\n"); 10 printf(" |2.复利计算 |\n"); 11 printf(" |---------------------------------------------|\n"); 12 printf(" |3.求年限 |\n"); 13 printf(" |---------------------------------------------|\n"); 14 printf(" |4.求年利率 |\n"); 15 printf(" |---------------------------------------------|\n"); 16 printf(" |5.固定存钱 |\n"); 17 printf(" |---------------------------------------------|\n"); 18 printf(" |6.贷款 |\n"); 19 printf(" |---------------------------------------------|\n"); 20 printf(" |0.退出系统 |\n"); 21 printf(" |---------------------------------------------|\n"); 22 } 23 24 25 26 main() 27 { 28 int i,n,N=100; 29 double v,money; //本金 30 int years; //存钱年数、月数 31 double sum; //存款总额 32 double r; //年利率 33 double A,B,C,y,Money; 34 while(1) 35 { 36 la1:view(); 37 printf("请选择(0-6):"); 38 scanf("%d",&n); 39 switch(n) 40 { 41 case 1: 42 printf("请输入本金:"); 43 scanf("%lf",&money); 44 printf("请输入存钱年数:"); 45 scanf("%d",&years); 46 printf("请输入利率:"); 47 scanf("%lf",&r); 48 for(i = 1 ; i<=years; i++) 49 { 50 sum = r*i*money+money; 51 printf("存入第%d年后的存款总额为:%.2lf\n\n\n",i,sum); 52 } 53 break; 54 case 2: 55 printf("请选择:\n"); 56 printf("1.通过本金求存款总额\n"); 57 printf("2.通过目标总额求本金\n\n"); 58 scanf("%d",&n); 59 switch(n) 60 { 61 case 1: 62 printf("请输入本金:"); 63 scanf("%lf",&money); 64 printf("请输入存钱年数:"); 65 scanf("%d",&years); 66 printf("请输入利率:"); 67 scanf("%lf",&r); 68 for(i = 1 ; i<=years; i++) 69 { 70 v=pow(1+r,i); 71 sum = v*money; 72 printf("存入第%d年后的存款总额为:%.2lf\n",i,sum); 73 } 74 goto la1; 75 case 2: 76 printf("请输入目标金钱:"); 77 scanf("%lf",&sum); 78 printf("请输入存钱年数:"); 79 scanf("%d",&years); 80 printf("请输入利率:"); 81 scanf("%lf",&r); 82 for(i = 1 ; i<=years; i++) 83 { 84 v=pow(1+r,i); 85 } 86 money=sum/v; 87 printf("现在必须存入本金为:%.2lf\n\n\n",money); 88 goto la1; 89 } 90 case 3: 91 printf("请输入本金:"); 92 scanf("%lf",&money); 93 printf("请输入目标金钱:"); 94 scanf("%lf",&sum); 95 printf("请输入利率:"); 96 scanf("%lf",&r); 97 C=A=1+r; 98 B=sum/money; 99 for(i=1;i<N;i++) 100 { 101 C=C*A; 102 if(C>=B) 103 { 104 break; 105 } 106 } 107 printf("所需年数为%d\n\n\n",i+1); 108 break; 109 case 4: 110 printf("请输入本金:"); 111 scanf("%lf",&money); 112 printf("请输入存钱年数:"); 113 scanf("%d",&years); 114 printf("请输入目标金钱:"); 115 scanf("%lf",&sum); 116 B=sum/money; 117 y=1.0/years; 118 r=pow(B,y)-1; 119 printf("所求年利率为:%-.3lf\n\n\n",r); 120 break; 121 case 5:printf("1.每月定投\n"); 122 printf("2.每年定投\n"); 123 scanf("%d",&n); 124 switch(n) 125 { 126 case 1: 127 printf("每月投入本金:"); 128 scanf("%lf",&money); 129 printf("请输入存钱年数:"); 130 scanf("%d",&years); 131 printf("请输入年利率:"); 132 scanf("%lf",&r); 133 money=money*12; 134 for(i=1;i<=years;i++) 135 { 136 v=pow(1+r,i); 137 } 138 Money=money*(1+r)*(-1+v)/r; 139 printf("%d年后本金和利息之和为:%lf\n\n\n",years,Money); 140 goto la1; 141 case 2: 142 printf("每年投入本金:"); 143 scanf("%lf",&money); 144 printf("请输入存钱年数:"); 145 scanf("%d",&years); 146 printf("请输入年利率:"); 147 scanf("%lf",&r); 148 for(i=1;i<=years;i++) 149 { 150 v=pow(1+r,i); 151 } 152 Money=money*(1+r)*(-1+v)/r; 153 printf("%d年后本金和利息之和为:%lf\n\n\n",years,Money); 154 goto la1; 155 } 156 case 6: 157 printf("贷款数目:"); 158 scanf("%lf",&Money); 159 printf("还钱期限(年):"); 160 scanf("%d",&years); 161 printf("请输入年利率:"); 162 scanf("%lf",&r); 163 for(i=1;i<=years;i++) 164 { 165 v=pow(1+r,i); 166 } 167 money=Money*r/(-1+v)/(1+r); 168 money=money/12; 169 printf("每月等额本息应还款:%lf\n\n\n",money); 170 break; 171 172 case 0: 173 return 0; 174 } 175 } 176 }
转载于:https://www.cnblogs.com/14fzf/p/5288171.html