复利单利计算的代码
Posted 03丘惠敏
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了复利单利计算的代码相关的知识,希望对你有一定的参考价值。
1.客户说:帮我开发一个复利计算软件。
客户提出:
2.如果按照单利计算,本息又是多少呢?
3.假如30年之后要筹措到300万元的养老金,平均的年回报率是3%,那么,现在必须投入的本金是多少呢?
客户又想:
4.利率这么低,复利计算收益都这么厉害了,如果拿100万元去买年报酬率10%的股票,若一切顺利,过多长时间,100万元就变成200万元呢?
1 #include<stdio.h> 2 #include<math.h> 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 }
以上是关于复利单利计算的代码的主要内容,如果未能解决你的问题,请参考以下文章