复利计算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); } } }
这个程序主要增加了贷款这个功能,并且设置了循环的功能,使得程序能根据使用者意愿执行所需的功能,不会自动退出。
相关文章推荐
- springMVC+ajax分页查询
- 猎豹MFC--MCI--MP3_Player
- 【SSH】 之Hibernate
- 解决“应用程序无法启动,应用程序的并行配置不正确”
- STL_排列函数的使用
- 求两个数的最大公约数和最小公倍数
- hdu1496 Equations (hash)
- 使用Windows安装的最高版本IE内核加载内嵌页
- Linux程序管理:yum工具
- Hibernate动态查询框架
- 问题 B: 求各位数字之和
- 面试大总结:Java搞定面试中的链表题目总结
- IT 基础设施
- tomcat
- 统计字符【转载】
- poj 3635 BFS 最短路变形
- 【干货】share智能指针的模拟实现
- 超级好用的仿recycleview的listview适配器与viewholder封装
- 韩语字幕
- 控制台常用命令