天天看點

複利計算3.0

#include<stdio.h>
#include<math.h>

void fuli(){
    int n,i;
    double ll,sum,bj;
    system("cls");
    printf("\t\t\t歡迎進入單複利計算3.0:\n");
    printf("請輸入本金:");
    scanf("%lf",&bj);
    printf("輸入所要存儲年:");
    scanf("%d",&n);
    printf("輸入利率:");
    scanf("%lf",&ll);
    printf("輸入複利次數:");
    scanf("%d",&i);
    printf("正在輸出:");
    ll=pow((1+ll/i),i)-1;
    sum=bj*(pow(1+ll,n)); 
    printf("所得%lf",sum);
    printf("\n");
}

void danli(){
    int n;
    double ll,sum,bj;
    system("cls");
    printf("\t\t\t歡迎進入單複利計算3.0:\n");
    printf("請輸入本金:");
    scanf("%lf",&bj);
    printf("請輸入存儲年:");
    scanf("%d",&n);
    printf("輸入利率:");
    scanf("%lf",&ll);
    printf("正在輸出:");
    sum=bj+bj*n*ll;
    printf("所得%lf",sum);
    printf("\n");
}

void benjin(){
    int n,i;
    double ll,sum,bj;
    system("cls");
    printf("\t\t\t歡迎進入單複利計算3.0:\n");
    printf("請輸入你所需要的總值:");
    scanf("%lf",&sum);
    printf("請輸入你所需要的存儲年:");
    scanf("%d",&n);
    printf("請輸入利率:");
    scanf("%lf",&ll);
    printf("請輸入複利次數:");
    scanf("%d",&i);
    ll=pow((1+ll/i),i)-1;
    bj=sum/pow(1+ll,n);
    printf("正在輸出:");
    printf("所需要本金%lf",bj);
    printf("\n");    
}

void shijian(){
    int i;
    double ll,sum,bj,n;
    system("cls");
    printf("\t\t\t歡迎進入單複利計算3.0:\n");
    printf("請輸入本金:");
    scanf("%lf",&bj);
    printf("請輸入你所需要的總值:");
    scanf("%lf",&sum);
    printf("輸入利率:");
    scanf("%lf",&ll);
    printf("輸入複利次數:");
    scanf("%d",&i);
    printf("正在輸出:");
    ll=pow((1+ll/i),i)-1;
    n=log(sum/bj)/log(1+ll);
    printf("所得:%lf",n);
    printf("\n");
}

void ll(){
    int n,i;
    double ll,sum,bj;
    system("cls");
    printf("\t\t\t歡迎進入單複利計算3.0:\n");
    printf("請輸入本金:");
    scanf("%lf",&bj);
    printf("請輸入你所需要的總值:");
    scanf("%lf",&sum);
    printf("輸入所要存儲年:");
    scanf("%d",&n);
    printf("輸入複利次數:");
    scanf("%d",&i);
    printf("正在輸出:");
    /*sum=bj*(pow(1+ll,n));
    ll=pow((1+ll/i),i)-1;*///推導出
    ll=i*(pow(pow(sum/bj,1.0/n),1.0/i)-1);
    printf("所得:%lf",ll);
    printf("\n");
}

void qixian(){
    double sum,bj,ll;
    int n;
    system("cls");
    printf("\t\t\t歡迎進入單複利計算3.0:\n");
    printf("請輸入年投入:");
    scanf("%lf",&bj);
    printf("請輸入年複合增長率:");
    scanf("%lf",&ll);
    printf("請輸入持續投入年數:");
    scanf("%d",&n);
    sum=bj*(1+ll)*(-1+pow((1+ll),n))/ll;
    printf("\n得出:%lf\n",sum);
}


main(){
    int a;
    printf("\t\t\t歡迎進入單複利計算3.0:\n");
    printf("\t1.單利計算");
    printf("\n\t2.複利計算");
    printf("\n\t3.求本金");
    printf("\n\t4.求時間");
    printf("\n\t5.求利率");
    printf("\n\t6.投資");
    printf("\n請輸入你的選項:");
    while(1){
    scanf("%d",&a);
    if(a>0&&a<=6){
        break;}
    printf("輸入無效,請輸入你的正确選項:");}
    switch (a){
    case 1:
        danli();
        break;
    case 2:
        fuli();
        break;
    case 3:
        benjin();
        break;
    case 4:
        shijian();
        break;
    case 5:
        ll();
        break;
    case 6:
        qixian();
        break;
    default:
        return 0;
    }
}