0318 复利算法4.0

#include<stdio.h>
#include <math.h>
#include<stdlib.h>
void fuli(){
    double F,P,I;
    int M,N;
    system("cls");
    printf("	欢迎进入复利计算软件
");
    printf("请输入存入本金:");
    scanf("%lf",&P);
    printf("请输入年利率:");
    scanf("%lf",&I);
    printf("请输入存入年限:");
    scanf("%d",&N);
    printf("请输入年复利次数:");
    scanf("%d",&M);
    printf("本金	年利率	存入年限	年复利次数
");
    printf("%.2lf	%.2lf	%d	%d",P,I,N,M);
    I=pow((1+I/M),M)-1;
    F=P*pow((1+I),N);
    printf("
输出复利终值结果:%.2lf
",F);
}

void danli()
{
    
    double F,P,I;
    int N;
    system("cls");
    printf("	欢迎进入单利计算软件
");
    printf("请输入存入本金:");
    scanf("%lf",&P);
    printf("请输入年利率:");
    scanf("%lf",&I);
    printf("请输入存入年限:");
    scanf("%d",&N);
    printf("本金	年利率	存入年限 
");
    printf("%.2lf	%.2lf	%d ",P,I,N);
    F=P+P*I*N;
    printf("
输出复利终值结果:%.2lf
",F);
}

void benjin()
{
    double F,P,I;
    int M,N;
    system("cls");
    printf("	欢迎进入本金计算软件
");
    printf("请输入终值:");
    scanf("%lf",&F);
    printf("请输入年利率:");
    scanf("%lf",&I);
    printf("请输入存入年限:");
    scanf("%d",&N);
    printf("请输入年复利次数:");
    scanf("%d",&M);
    printf("终值	年利率	存入年限	年复利次数
");
    printf("%.2lf	%.2lf	%d	%d",F,I,N,M);
    I=pow((1+I/M),M)-1;
    P=F/pow((1+I),N);
    printf("
输出本金结果:%.2lf
",P);
}

void nianfen()
{
    double F,P,I,N;
    int M;
    system("cls");
    printf("	欢迎进入投资年限计算软件
");
    printf("请输入终值:");
    scanf("%lf",&F);
    printf("请输入年利率:");
    scanf("%lf",&I);
    printf("请输入本金:");
    scanf("%lf",&P);
    printf("请输入年复利次数:");
    scanf("%d",&M);
    printf("终值	年利率	本金	年复利次数
");
    printf("%.2lf	%.2lf	%.2lf	%d",F,I,P,M);
    I=pow((1+I/M),M)-1;
    N=log(F/P)/log(1+I);
    printf("
输出投资年限估计:%lf
",N);
}


void lilv()
{
    double F,P,I;
    int M,N;
    system("cls");
    printf("	欢迎进入投资项目利率计算软件
");
    printf("请输入终值:");
    scanf("%lf",&F);
    printf("请输入本金:");
    scanf("%lf",&P);
    printf("请输入存入年限:");
    scanf("%d",&N);
    printf("请输入年复利次数:");
    scanf("%d",&M);
    printf("终值	本金	存入年限	年复利次数
");
    printf("%.2lf	%.2lf	%d	%d",F,P,N,M);
    I=pow(pow(F/P,1.0/N),1.0/M)*M-M;
    printf("
输出投资项目利率:%lf
",I);
}
void dingqi(){
    double F,P,I;
    int N;
    system("cls");
    printf("	欢迎进入定期投资软件
");
    printf("请输入每期定投入投入:");
    scanf("%lf",&P);
    printf("请输入收益率:");
    scanf("%lf",&I);
    printf("请输入定期投数:");
    scanf("%d",&N);
    printf("每期定投入投入	收益率	定期投数	
");
    printf("%.2lf		%.2lf	%d	",P,I,N);
    F=P*(1+I)*(pow((1+I),N)-1)/I;
    printf("
输出结果:%.2lf
",F);
}

void huankuan()
{
    double F,P,I;
    int N;
    system("cls");
    printf("	欢迎进入等额本息法软件
");
    printf("请输入本金:");
    scanf("%lf",&P);
    printf("请输入季利率:");
    scanf("%lf",&I);
    printf("请输入期限:");
    scanf("%d",&N);
    printf("本金	季利率	期限	
");
    printf("%.2lf	%.2lf	%d	",P,I,N);
    F=P*I*pow((1+I),N)/pow((1+I),N-1); 
    printf("
每季的还款额:%.2lf
",F);
}
main()
{
    int i;
AA:    printf("	
欢迎进入单复利计算软件4.0
");
    printf("
1.单利计算");
    printf("
2.复利计算");
    printf("
3.求本金");
    printf("
4.求投资年限");
    printf("
5.求投资项目利率估计");
    printf("
6.定期投资");
    printf("
7.等额还款金额");
    printf("
请输出选择项:");
    while(1){
        scanf("%d",&i);
        if(i>0&&i<8){           
        break;}
        system("cls");    
        printf("		输入错误,重新输入
");
    }
    switch(i)
    {
    case 1:
        danli();
        break;
    case 2:
        fuli();
        break;
    case 3:
        benjin();
        break;
    case 4:
        nianfen();
        break;
    case 5:
        lilv();
        break;
    case 6:
        dingqi();
        break;
    case 7:
        huankuan();
        break;
    default:
        goto AA;
    }
}
原文地址:https://www.cnblogs.com/wangjunjie123/p/5293177.html