复利计算3.0

#include<stdio.h>

#include<math.h>

double principal=0,mount=0;

int year=0;

int n=1;

double rate;

 

void danli(){

    printf("请输入的本金:");

    scanf("%lf",&principal);

    printf("请输入年限:");

    scanf("%d",&year);
    printf("请输入年利率:");

    scanf("%lf",&rate);

    mount=principal+principal*rate*year;

    printf("本息为:%.2lf\n",mount); 

}

 

void fuli(){

 

    printf("请输入本金:");

    scanf("%lf",&principal);

    printf("请输入年限:");

    scanf("%d",&year);

    printf("请输入年利率:");

    scanf("%lf",&rate);

    printf("请输入年复利次数:");

    scanf("%d",&n);

    rate=pow((1+rate/n),n)-1;

    mount=principal*pow((1+rate),year);

    printf("本息为:%.2lf\n",mount);

 

}

 

void principaljisuan(){

    printf("请输入期望的收益:");

    scanf("%lf",&mount);  

    printf("请输入年限:");

    scanf("%d",&year);

    printf("请输入年利率:");

    scanf("%lf",&rate);

    printf("请输入年复利次数:");

    scanf("%d",&n);

    rate=pow((1+rate/n),n)-1;

    principal=mount/pow((1+rate),year);

    printf("输出所需本金为:%.2lf\n",principal);

 

}

 
void time()
{
    int flat=0;
    
    printf("请输入本利和:"); 
    scanf("%lf",&mount); 
    printf("请输入年回报率:"); 
    scanf("%lf",&rate); 
    printf("请输入本金:"); 
    scanf("%lf",&principal); 
    for(n=1;n<100;n++)    //穷举法求100年满足的计息期数
    {
        if((principal*(pow((1+rate),n)))>=mount)
        {
            printf("计息期数:%d\n\n",n);
            flat=1;
            break;
        }
    }
    if(flat==0)
        printf("在100年内没有符合计息期数!\n\n");
    
}

void lilv()
{
    
    printf("请输入本利和:"); 
    scanf("%lf",&mount); 
    printf("请输入复利次数(年):"); 
    scanf("%d",&year); 
    printf("请输入本金:"); 
    scanf("%lf",&principal); 
    rate=pow(mount/principal, 1.0/year)-1;
    printf("年利率为:%lf",rate);
}

 main(){

    int num=0;

printf("|----------------------------------------|\n");

printf("|          1.复利计算                    |\n");

printf("|          2.单利计算                    |\n");

printf("|          3.计算本金                    |\n");

printf("|          4.年限计算                    |\n");

printf("|          5.利率估算                    |\n");

printf("|----------------------------------------|\n");

printf("请输入选择:");

scanf("%d",&num);

switch(num){

case 1:

    fuli(); 

    break;

case 2:

   danli();

    break;

case 3:

    principaljisuan();

break;
 case 4:

     time();
            
 break;
 case 5:

   lilv();

    break;





}

}

 

posted @ 2016-03-17 19:58  45赵创佳  阅读(162)  评论(0编辑  收藏  举报