zoukankan      html  css  js  c++  java
  • 复利计算-4

      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     printf("   请输入你每次所投入的本金:");
    163     scanf("%lf",&P);
    164     printf("|-----------------------------------------|
    ");
    165     printf("   请输入你所投本金的利息:");
    166     scanf("%f",&i);
    167     printf("|-----------------------------------------|
    ");    
    168     printf("   请输入你所存款的年限:");
    169     scanf("%d",&n);
    170     printf("|-----------------------------------------|
    ");
    171     printf("
    请输入你选的存款方式(1、年投;2、月投):");
    172     scanf("%d",&a);
    173     switch(a)
    174     {
    175     case 1:
    176         F=P*(1+i)*(pow(1+i,n)-1)/i;
    177         break;
    178     case 2:
    179         F=P*12*(1+i)*(pow(1+i,n)-1)/i;    
    180         break;
    181     }
    182     printf("
    存款%d年,你所获得的金额为:%.4lf
    
    ",n,F);
    183 }
    184 
    185 
    186 
    187 
    188 void Count_Refunt(){
    189     int n,a;
    190     double F,P;
    191     float i;
    192     printf("请输入借款的信息!!!!!
    ");
    193     printf("
    |-----------------------------------------|
    ");
    194     printf("   请输入你所借的金额:");
    195     scanf("%lf",&F);
    196     printf("|-----------------------------------------|
    ");
    197     printf("   请输入你借款的利息(年):");
    198     scanf("%f",&i);
    199     printf("|-----------------------------------------|
    ");    
    200     printf("   请输入你借款的年限:");
    201     scanf("%d",&n);
    202     printf("|-----------------------------------------|
    ");
    203     printf("
    请输入你选的借款方式(1、年还;2、月还):");
    204     scanf("%d",&a);
    205     switch(a)
    206     {
    207     case 1:
    208         P=F*i*pow(1+i,n)/pow(1+i,n-1);
    209         printf("
    你每年要还的金额为:%.4lf
    
    ",P);
    210         break;
    211     case 2:
    212         i=i/12;
    213         n=n*12;
    214         P=F*i*pow(1+i,n)/pow(1+i,n-1);
    215         printf("
    你每月要还的金额为:%.4lf
    
    ",P);
    216         break;
    217     }
    218     
    219 }
    220 
    221 void menu(){
    222     printf("|-----------------------------------------|
    ");
    223     printf("|               0、退出系统               |
    ");
    224     printf("|-----------------------------------------|
    ");
    225     printf("|               1、复利存款               |
    ");
    226     printf("|-----------------------------------------|
    ");
    227     printf("|               2、单利存款               |
    ");
    228     printf("|-----------------------------------------|
    ");
    229     printf("|      3、输出复利存款、单利存款的结果    |
    ");
    230     printf("|-----------------------------------------|
    ");
    231     printf("|            4、输入终值求存款            |
    ");
    232     printf("|-----------------------------------------|
    ");
    233     printf("|        5、输入终值、存款求所需年份      |
    ");
    234     printf("|-----------------------------------------|
    ");
    235     printf("|       6、输入终值、存款、年份求利率     |
    ");
    236     printf("|-----------------------------------------|
    ");
    237     printf("| 7、输每年(月)投入本金,求几年后的终值 |
    ");
    238     printf("|-----------------------------------------|
    ");
    239     printf("|        8、输入贷款,求年(月)还款      |
    ");
    240     printf("|-----------------------------------------|
    ");
    241 }
    242 
    243 void main(){
    244     char t;
    245     int a;
    246     menu();
    247 loop:
    248     printf("
    请输入你的选择:");
    249     if(scanf("%d",&a)==1){
    250     switch(a)
    251     {
    252     case 0:
    253          exit(0);
    254          break;
    255     case 1:
    256         system("cls");
    257         t=getchar();
    258         Compounding();
    259         break;
    260     case 2:
    261         system("cls");
    262         t=getchar();
    263         Simple_Interested();
    264         break;
    265     case 3:
    266         system("cls");
    267         t=getchar();
    268         Comparison();
    269         break;
    270     case 4:
    271         system("cls");
    272         t=getchar();
    273         Count_Deposit();
    274         break;
    275     case 5:
    276         system("cls");
    277         t=getchar();
    278         Count_Year();
    279         break;
    280     case 6:
    281         system("cls");
    282         t=getchar();
    283         Count_Interest();
    284         break;
    285     case 7:
    286         system("cls");
    287         t=getchar();
    288         Count_Money();
    289         break;
    290     case 8:
    291         system("cls");
    292         t=getchar();
    293         Count_Refunt();
    294         break;
    295     default:
    296         printf("输入有误!请重新输入!(目前功能选项只有1~8)
    ");
    297         goto loop;
    298     }    
    299     }
    300     else{
    301         system("cls");
    302         t=getchar();
    303         printf("
    输入有误!请重新输入!(目前功能选项只有1~8)
    
    ");
    304         main();
    305     }
    306 }

    1、年还款

    2、月还款

  • 相关阅读:
    Java RunTime Environment (JRE) or Java Development Kit (JDK) must be available in order to run Eclipse. ......
    UVA 1597 Searching the Web
    UVA 1596 Bug Hunt
    UVA 230 Borrowers
    UVA 221 Urban Elevations
    UVA 814 The Letter Carrier's Rounds
    UVA 207 PGA Tour Prize Money
    UVA 1592 Database
    UVA 540 Team Queue
    UVA 12096 The SetStack Computer
  • 原文地址:https://www.cnblogs.com/moliny/p/5302876.html
Copyright © 2011-2022 走看看