#include<stdio.h>
#include<math.h>
double benjin=0,W=0;
double year=0;
int N=1;
double lilv;
void danli(){
printf("請輸入要存入的本金:");
scanf("%lf",&benjin);
printf("請輸入年利率:");
scanf("%lf",&lilv);
printf("請輸入年限:");
scanf("%lf",&year);
W=benjin+benjin*lilv*year;
printf("輸出最終值為:%.2lf\n",W);
}
void fuli(){
printf("請輸入要存入的本金:");
scanf("%lf",&benjin);
printf("請輸入年利率:");
scanf("%lf",&lilv);
printf("請輸入年限:");
scanf("%lf",&year);
printf("請輸入年複利次數:");
scanf("%d",&N);
lilv=pow((1+lilv/N),N)-1;
W=benjin*pow((1+lilv),year);
printf("輸出最終值為:%.2lf\n",W);
}
void benjinjisuan(){
printf("請輸入最後收益:");
scanf("%lf",&W);
printf("請輸入年利率:");
scanf("%lf",&lilv);
printf("請輸入年限:");
scanf("%lf",&year);
printf("請輸入年複利次數:");
scanf("%d",&N);
lilv=pow((1+lilv/N),N)-1;
benjin=W/pow((1+lilv),year);
printf("本金為:%.2lf\n",benjin);
}
void TZtime(){
printf("請輸入要存入的本金:");
scanf("%lf",&benjin);
printf("請輸入年利率:");
scanf("%lf",&lilv);
printf("請輸入年複利次數:");
scanf("%d",&N);
printf("請輸入最後收益:");
scanf("%lf",&W);
lilv=pow((1+lilv/N),N)-1;
year= log(W/benjin)/log(1+lilv);
printf("投資年限估計為%.2lf年\n",year);
}
void BestProject(){
printf("請輸入要存入的本金:");
scanf("%lf",&benjin);
printf("請輸入年限:");
scanf("%lf",&year);
printf("請輸入年複利次數:");
scanf("%d",&N);
printf("請輸入最後收益:");
scanf("%lf",&W);
lilv=pow((pow((W/benjin),(1.0/year))-1;+1),(1.0/N))*N-N;
printf("投資項目利率估計為:%.2lf\n",lilv);
}
main(){
int num=0;
printf("***********複利電腦(3.0)*************\n");
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:
danli();
break;
case 2:
fuli();
break;
case 3:
benjinjisuan();
break;
case 4:
TZtime();
break;
case 5:
BestProject();
default:
return 0;
}
}