博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
复利单利计算的代码
阅读量:6918 次
发布时间:2019-06-27

本文共 3175 字,大约阅读时间需要 10 分钟。

1.客户说:帮我开发一个复利计算软件。

客户提出:

2.如果按照单利计算,本息又是多少呢?

3.假如30年之后要筹措到300万元的养老金,平均的年回报率是3%,那么,现在必须投入的本金是多少呢?

客户又想:

4.利率这么低,复利计算收益都这么厉害了,如果拿100万元去买年报酬率10%的股票,若一切顺利,过多长时间,100万元就变成200万元呢? 

1 #include
2 #include
3 void meun(); 4 void captical_profit(int temp); 5 void captica(int temp); 6 void time(int temp); 7 main() 8 { 9 int temp; 10 char temp0,temp1; 11 meun(); 12 lab: printf("请选择种类:"); 13 scanf("%d",&temp); 14 if(temp>0&&temp<6) //判断输入是否正确 15 { 16 while(1) //循环选择 17 { 18 if(temp>0&&temp<4) 19 captical_profit(temp); //求本利和 20 else if(temp==4) 21 captica(temp); //求本金 22 else if(temp==5) 23 time(temp); 24 else if(temp==6) 25 return 0; 26 meun(); 27 printf("是否需要继续选择(y/n):"); 28 getchar(); 29 scanf("%c",&temp0); 30 if(temp0=='y') 31 goto lab; 32 else 33 break; 34 } 35 } 36 else //输入错误 37 { 38 printf("输入错误!\n\n是否要重新输入(y/n):"); 39 getchar(); 40 scanf("%c",&temp1); 41 if(temp1=='y') 42 goto lab; 43 else 44 return 0; 45 } 46 } 47 //菜单 48 void meun() 49 { 50 printf("*******************************\n"); 51 printf("* 1 一次支付复利 *\n"); 52 printf("* 2 等额多次支付复利 *\n"); 53 printf("* 3 单利计算 *\n"); 54 printf("* 4 投入的本金计算 *\n"); 55 printf("* 5 计息期数 *\n"); 56 printf("* 6 退出 *\n"); 57 printf("*******************************\n"); 58 } 59 void captical_profit(int temp) 60 { 61 int n; 62 double P,i,F; 63 printf("请输入期初金额:"); 64 scanf("%lf",&P); 65 printf("请输入利率:"); 66 scanf("%lf",&i); 67 printf("请输入计息期数:"); 68 scanf("%d",&n); 69 switch(temp) 70 { 71 case 1: 72 F=P*(pow((1+i),n)); //一次支付复利计算 73 break; 74 case 2: 75 F=(P*(pow((1+i),n)-1))/i; //多次等额复利计算 76 break; 77 case 3: 78 F=P*(1+i*n); //单利计算 79 break; 80 } 81 printf("本利和为:%lf\n\n",F); 82 } 83 //求本金 84 void captica(int temp) 85 { 86 int n; 87 double P,i,F; 88 printf("请输入本利和:"); 89 scanf("%lf",&F); 90 printf("请输入年回报率:"); 91 scanf("%lf",&i); 92 printf("请输入计息期数:"); 93 scanf("%d",&n); 94 P=F/(pow((1+i),n)); 95 printf("本金为:%lf\n\n",P); 96 } 97 98 //求计息期数 99 void time(int temp)100 {101 int n,flat=0; 102 double P,i,F; 103 printf("请输入本利和:"); 104 scanf("%lf",&F); 105 printf("请输入年回报率:"); 106 scanf("%lf",&i); 107 printf("请输入本金:"); 108 scanf("%lf",&P); 109 for(n=1;n<100;n++) //穷举法求100年满足的计息期数110 {111 if((P*(pow((1+i),n)))>=F)112 {113 printf("计息期数:%d\n\n",n);114 flat=1;115 break;116 }117 }118 if(flat==0)119 printf("在100年内没有符合计息期数!\n\n");120 121 }

 

转载于:https://www.cnblogs.com/qiuhuimin/p/5271071.html

你可能感兴趣的文章
HowTo 激活非常规方式安装的正版OEM Vista
查看>>
洛谷P1387 最大正方形
查看>>
RecyclerView学习(四)----ItemDecoration实现的城市导航列表(下)
查看>>
FTP文件管理
查看>>
使用Configuration Manager部署操作系统(2)
查看>>
AC自动机 - 关于Fail指针
查看>>
word文档打印之后出打印报告
查看>>
SQL Server 变量名称的Collcation跟Instance还是跟当前DB?
查看>>
美商务部盛赞McAfee SiteAdvisor安全上网工具
查看>>
openstack实例热迁移
查看>>
不少朋友在安装IDES 4.71的过程中都遇到了下面的出错提示:
查看>>
机房出现新问题,大家请注意!征求答案中
查看>>
windows 2012 如何给web server自己签发证书
查看>>
Validating Common Form Input - Part 2 Validating a username
查看>>
OpenStack参考架构的搭建经验
查看>>
webService——wsimport命令建立webService本地客户端
查看>>
另眼看SAP应用
查看>>
走近复杂数据库计算型软件的设计与制作(5)—存储过程的设计
查看>>
随机密码生成器
查看>>
用Python开发主机批量管理工具
查看>>