您的位置:首页 > 其它

复利计算4.0

2016-03-20 22:17 309 查看


#include<stdio.h>
#include<stdlib.h>
#include<math.h>
voidview()
{
printf("|---------------------------------------------|\n");
printf("|单/复利计算|\n");
printf("|---------------------------------------------|\n");
printf("|1.单利计算|\n");
printf("|---------------------------------------------|\n");
printf("|2.复利计算|\n");
printf("|---------------------------------------------|\n");
printf("|3.求年限|\n");
printf("|---------------------------------------------|\n");
printf("|4.求年利率|\n");
printf("|---------------------------------------------|\n");
printf("|5.固定存钱|\n");
printf("|---------------------------------------------|\n");
printf("|6.贷款|\n");
printf("|---------------------------------------------|\n");
printf("|0.退出系统|\n");
printf("|---------------------------------------------|\n");
}

voiddanli()
{
inti,years;//存钱年数
doublemoney,r,sum;//本金,年利率
printf("请输入本金:");
scanf("%lf",&money);
printf("请输入存钱年数:");
scanf("%d",&years);
printf("请输入利率:");
scanf("%lf",&r);
for(i=1;i<=years;i++)
{
sum=r*i*money+money;
printf("存入第%d年后的存款总额为:%.2lf\n\n\n",i,sum);
}
}

voidyear()
{
inti,years,N=100;
doublemoney,r,sum,A,B,C;
printf("请输入本金:");
scanf("%lf",&money);
printf("请输入目标金钱:");
scanf("%lf",&sum);
printf("请输入利率:");
scanf("%lf",&r);
C=A=1+r;
B=sum/money;
for(i=1;i<N;i++)
{
C=C*A;
if(C>=B)
{
break;
}
}
years=i+1;
printf("所需年数为%d\n\n\n",years);
}

voidnianlilv()
{
intyears;
doublemoney,r,sum,B,y;
printf("请输入本金:");
scanf("%lf",&money);
printf("请输入存钱年数:");
scanf("%d",&years);
printf("请输入目标金钱:");
scanf("%lf",&sum);
B=sum/money;
y=1.0/years;
r=pow(B,y)-1;
printf("所求年利率为:%-.3lf\n\n\n",r);
}

voiddingtou1()
{
intyears,i;
doublemoney,r,Money,v;
printf("每月投入本金:");
scanf("%lf",&money);
printf("请输入存钱年数:");
scanf("%d",&years);
printf("请输入年利率:");
scanf("%lf",&r);
money=money*12;
for(i=1;i<=years;i++)
{
v=pow(1+r,i);
}
Money=money*(1+r)*(-1+v)/r;
printf("%d年后本金和利息之和为:%lf\n\n\n",years,Money);
}

voiddingtou2()
{
intyears,i;
doublemoney,r,Money,v;
printf("每年投入本金:");
scanf("%lf",&money);
printf("请输入存钱年数:");
scanf("%d",&years);
printf("请输入年利率:");
scanf("%lf",&r);
for(i=1;i<=years;i++)
{
v=pow(1+r,i);
}
Money=money*(1+r)*(-1+v)/r;
printf("%d年后本金和利息之和为:%lf\n\n\n",years,Money);
}

voiddaikuan()
{
intyears,i;
doublemoney,r,Money,v;
printf("贷款数目:");
scanf("%lf",&Money);
printf("还钱期限(年):");
scanf("%d",&years);
printf("请输入年利率:");
scanf("%lf",&r);
for(i=1;i<=years;i++)
{
v=pow(1+r,i);
}
money=Money*r/(-1+v)/(1+r);
money=money/12;
printf("每月等额本息应还款:%lf\n\n\n",money);
}

voidSUM()
{
intyears,i;
doublemoney,r,v,sum;
printf("请输入本金:");
scanf("%lf",&money);
printf("请输入存钱年数:");
scanf("%d",&years);
printf("请输入利率:");
scanf("%lf",&r);
for(i=1;i<=years;i++)
{
v=pow(1+r,i);
sum=v*money;
printf("存入第%d年后的存款总额为:%.2lf\n",i,sum);
}
}

voidbenjin()
{
intyears,i;
doublemoney,r,v,sum;
printf("请输入目标金钱:");
scanf("%lf",&sum);
printf("请输入存钱年数:");
scanf("%d",&years);
printf("请输入利率:");
scanf("%lf",&r);
for(i=1;i<=years;i++)
{
v=pow(1+r,i);
}
money=sum/v;
printf("现在必须存入本金为:%.2lf\n\n\n",money);
}

main()
{
intn;
while(1)
{
la1:view();
printf("请选择(0-6):");
scanf("%d",&n);
switch(n)
{
case1:
danli();
break;
case2:
printf("请选择:\n");
printf("1.通过本金求存款总额\n");
printf("2.通过目标总额求本金\n\n");
scanf("%d",&n);
switch(n)
{
case1:
SUM();
gotola1;
case2:
benjin();
gotola1;
}
case3:
year();
break;
case4:
nianlilv();
break;
case5:printf("1.每月定投\n");
printf("2.每年定投\n");
scanf("%d",&n);
switch(n)
{
case1:
dingtou1();
gotola1;
case2:
dingtou2();
gotola1;
}
case6:
daikuan();
break;

case0:
n=0;exit(0);
}
}
}








这个程序主要增加了贷款这个功能,并且设置了循环的功能,使得程序能根据使用者意愿执行所需的功能,不会自动退出。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: