//貸款利率計算器。
#include<stdio.h>
#include<math.h>
void inputData(char c[],float *a,int *y) //姓名,貸款數額和年限
{
char ch;
while(1)
{
printf("輸入用戶姓名:\n");
scanf("%s",c);
getchar();
printf("輸入貸款數額(萬元):\n");
scanf("%f",a);
getchar();
printf("輸入貸款年限:\n");
scanf("%d",y);
getchar();
printf("姓名:%s,貸款年限為%d年,貸款數額為%f萬元,正確?(Y/N)\n",c,*y,*a);
scanf("%c",&ch);
getchar();
if(ch == 'Y' || ch =='y')
{
break;
}
}
}
float getliLv(int y) //獲得年利率。
{
float x=0.0;
switch(y)
{
case 0:
case 1:
{
x=0.0747;
break;
}
case 2:
case 3:
{
x=0.0756;
break;
}
case 4:
case 5:
{
x=0.0774;
break;
}
default:
{
x=0.0783;
}
}
return x;
}
int main()
{
char c[30]; //姓名
int year; //年限
float a; //貸款總額。
float lilv; //年利率
double monthR; //每月還款額
double lixisum; //利息合計
double sumE; //還款總額。
double k,l;
char ch;
printf("*********************貸款利率計算系統*****************\n");
while(1)
{
inputData(c,&a,&year);
lilv = getliLv(year);
//註意,下面的計算可能存在問題,因為我實在看不懂妳的計算公式,妳根據公式改變壹下吧。
k=lilv/12*pow((1+lilv/12),(year*12));
l=pow((1+lilv/12),(year*12-1));
monthR=k/l*a*10000;
lixisum=a*lilv*year*10000;
sumE=monthR*year*12; //每月還款額*還款期數
printf("姓名:%s 貸款年限(年):%d\n貸款數額(元):%f 每月還款數額(元):%f\n利息合計(元):%f 還款總額(元):%f\n",c,year,a*10000,monthR,lixisum,sumE);
printf("是否進行新的計算(Y/N)?\n");
scanf("%c",&ch);
getchar();
if(ch != 'Y' && ch != 'y')
{
break;
}
}
return 0;
}