标签:
1 #include<stdio.h> 2 #include<math.h> 3 #include<conio.h> 4 void tip()//计算公式和一些变量的介绍 5 { 6 printf("复利计算软件\n"); 7 printf(" 复利计算公式:F=P*pow((1+i/m),N*m)\n"); 8 printf(" 单利计算公式:L=P*N*i;H=L+P\n"); 9 printf("\tF:复利终值|年金终值\n"); 10 printf("\tP:本金\n"); 11 printf("\ti:利率\n"); 12 printf("\tH:本利和\n"); 13 printf("\tN:利率获取时间的整数倍\n"); 14 printf("\tm:年复利次数(一年当中的滚利次数)\n"); 15 } 16 void menu()//菜单 17 { 18 printf("\t\t|-----------------------------------|\n"); 19 printf("\t\t| welcome |\n"); 20 printf("\t\t|-----------------------------------|\n"); 21 printf("\t\t| 1:计算本金 |\n"); 22 printf("\t\t| 2:计算年复利终值 |\n"); 23 printf("\t\t| 3:单利计算 |\n"); 24 printf("\t\t| 4:计算年份 |\n"); 25 printf("\t\t| 5:计算年利率 |\n"); 26 printf("\t\t| 6:年金终值(年|月) |\n"); 27 printf("\t\t| 0:结束 |\n"); 28 printf("\t\t|-----------------------------------|\n"); 29 printf("请输入你要选择的功能(0~6):\n"); 30 31 } 32 void benjin()//计算本金 33 { 34 int N,m; 35 double i,F,P; 36 printf("复利终值:"); 37 scanf("%lf",&F); 38 printf("年利率:"); 39 scanf("%lf",&i); 40 printf("存入年限:"); 41 scanf("%d",&N); 42 printf("年复利次数:"); 43 scanf("%d",&m); 44 P=F/pow((1+i/m),N*m); 45 printf("年复利终值为%.4lf需要本金为:%.4lf\n",F,P); 46 } 47 void fuli()//计算复利终值 48 { 49 int N,m; 50 double i,F,P; 51 printf("存入本金:"); 52 scanf("%lf",&P); 53 printf("年利率:"); 54 scanf("%lf",&i); 55 printf("存入年限:"); 56 scanf("%d",&N); 57 printf("年复利次数:"); 58 scanf("%d",&m); 59 F=P*pow((1+i/m),N*m); 60 printf("复利终值:%.4lf\n",F); 61 } 62 void danli()//单利计算 63 { 64 int N; 65 double i,H,P,L; 66 printf("存入本金:"); 67 scanf("%lf",&P); 68 printf("年利率:"); 69 scanf("%lf",&i); 70 printf("存入年限:"); 71 scanf("%d",&N); 72 L=P*N*i; 73 H=L+P; 74 printf("本息和为:%.4lf\n",H); 75 } 76 void years()//求年份 77 { 78 int N,m; 79 double i,F,P; 80 printf("复利终值:"); 81 scanf("%lf",&F); 82 printf("存入本金:"); 83 scanf("%lf",&P); 84 printf("年利率:"); 85 scanf("%lf",&i); 86 printf("年复利次数:"); 87 scanf("%d",&m); 88 N=(int)(log(F/P)/log(1+i/m)/m); 89 printf("从%.4lf到%.4lf需要%d年\n",P,F,N); 90 } 91 void annual_int_rate()//计算年利率 92 { 93 int N,m; 94 double i,F,P; 95 printf("复利终值:"); 96 scanf("%lf",&F); 97 printf("存入本金:"); 98 scanf("%lf",&P); 99 printf("存入年限:"); 100 scanf("%d",&N); 101 printf("年复利次数:"); 102 scanf("%d",&m); 103 i=m*(pow(F/P,1.0/(N*m))-1); 104 printf("从%.4lf到%.4lf需要%.4lf\n",P,F,i); 105 } 106 void YM_final_value_annuity()//计算年金终值 107 { 108 int N,n; 109 double i,F,P; 110 printf("存入本金:"); 111 scanf("%lf",&P); 112 printf("存入年限:"); 113 scanf("%d",&N); 114 printf("年利率:"); 115 scanf("%lf",&i); 116 printf("\t\t1:按年投资\n\t\t2:按月投资\n"); 117 A:printf("请选择你要的功能<1|2>:"); 118 scanf("%d",&n); 119 if(n==1) 120 { 121 F=P*(pow(1+i,N)-1)/i; 122 123 } 124 else if(n==2) 125 { 126 F=N*12*(P*(i/12)+P); 127 } 128 else 129 { 130 printf("输入有误!请重新输入\n"); 131 goto A; 132 } 133 printf("%d年后的总产值:%.4lf\n",N,F); 134 135 } 136 void main() 137 { 138 int n; 139 while(1) 140 { 141 tip(); 142 menu(); 143 scanf("%d",&n); 144 if(n==0) 145 break; 146 switch(n) 147 { 148 case 1: 149 benjin();break; 150 case 2: 151 fuli();break; 152 case 3: 153 danli();break; 154 case 4: 155 years();break; 156 case 5: 157 annual_int_rate();break; 158 case 6: 159 YM_final_value_annuity();break; 160 case 0:n=0;break; 161 162 } 163 getch(); 164 } 165 }
标签:
原文地址:http://www.cnblogs.com/zzy999/p/5284925.html