0316复利计算器3.0

#include<stdio.h>
#include<math.h>
#include<stdlib.h>
void FL();
void DL();
void TR();

main()
{
    int c;
    while(1){
    system("cls");
    printf("按所需要的方式输入指令:\n");
    printf("复利计算方式输入1\n");
    printf("单利计算方式输入2\n");
    printf("退出      输入0\n");
    scanf("%d",&c);
    if(c==1)
        FL();
    else if(c==2)
        DL();
    else if(c==0)
        return 0;
    else
        printf("输入错误,请重新输入");
    }
}
void FL()
{
    int n=0,c=0;
    double f=0,p=0,i=0;
    
    system("cls");
    while(1){
    printf("输入需要方式:\n");
    printf("求本利输入1\n");
    printf("求利率输入2\n");
    printf("求年限输入3\n");
    printf("求本金输入4\n");
    printf("退出  输入0\n");
    scanf("%d",&c);
    if(c==0)
        return ;
    else if(c==1 || c==2 || c==3 || c==4 || c==4)
        break;
    }
    if(c!=1)
    {printf("请输入本利:");
    scanf("%lf",&f);
    }
    if(c!=2)
    {printf("请输入利率%%:");
    scanf("%lf",&i);
    }
    if(c!=3)
    {printf("请输入年限:");
    scanf("%d",&n);
    }
    if(c!=4)
    {printf("请输入本金:");
    scanf("%lf",&p);
    }
    switch (c){
    case 1:
    f=p*pow((1+i/100),n);
    printf("最终金额为:%lf\n",f);
    break;

    case 2:
    i=((pow(f/p,1.0/n))-1)*100;
    printf("所需利率为:%lf%%\n",i);
    break;

    case 3:
    n=(int)(ceil(log(f/p)/log(1+i/100)));
    printf("所需年限为:%d年\n", n);
    break;
    

    case 4:
    p=f/pow((1+i/100),n);
    printf("所需本金为:%lf\n", p);
    break;
}
    printf("按任意键继续");
    getchar();
    getchar();
}
void DL()
{
    int n=0,c=0;
    double f=0,p=0,i=0;
    
    system("cls");
    while(1){
    printf("输入需要方式:\n");
    printf("求本利输入1\n");
    printf("求利率输入2\n");
    printf("求年限输入3\n");
    printf("求本金输入4\n");
    printf("退出  输入0\n");
    scanf("%d",&c);
    if(c==0)
        return ;
    else if(c==1 || c==2 || c==3 || c==4 || c==4)
        break;
    }
    if(c!=1)
    {printf("请输入本利:");
    scanf("%lf",&f);
    }
    if(c!=2)
    {printf("请输入利率%%:");
    scanf("%lf",&i);
    }
    if(c!=3)
    {printf("请输入年限:");
    scanf("%d",&n);
    }
    if(c!=4)
    {printf("请输入本金:");
    scanf("%lf",&p);
    }
    switch (c){
    case 1:
    f=p+p*i/100*n;
    printf("最终金额为:%lf\n",f);
    break;

    case 2:
    i=(f-p)/p/n*100;
    printf("所需利率为:%lf%%\n",i);
    break;

    case 3:
    n=(f-p)/p/i*100;
    printf("所需年限为:%d年\n", n);
    break;
    

    case 4:
    p=f/(1+i/100*n);
    printf("所需本金为:%lf\n", p);
    break;
}
    printf("按任意键继续");
    getchar();
    getchar();
}
原文地址:https://www.cnblogs.com/ken520/p/5289571.html