复利计算程序说明
运行程序,选择所需要的功能。 1.复利计算 2.单利计算 3.本金计算 4.退出程序
1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <math.h> 4 5 class lixi 6 { 7 private: 8 double p; // 本金 9 double i; // 利率 10 int n; // 利率获取时间的整数倍 11 double f; // 复利终值 12 double d; // 单利终值 13 public: 14 void input(); 15 void calculate_fuli(); 16 void calculate_danli(); 17 void calculate_benjin(); 18 }; 19 20 void lixi::input() 21 { 22 printf(" 请输入本金:"); 23 scanf("%lf", &p); 24 printf("请输入年利率:"); 25 scanf("%lf", &i); 26 printf("请输入利率获取时间(年):"); 27 scanf("%d", &n); 28 } 29 30 void lixi::calculate_fuli() 31 { 32 // printf("%f %f %d ", p, i, n); 33 f = p * pow(1+i, n); 34 35 printf(" %d年后本息和为:%0.2f. ", n, f); 36 37 return; 38 } 39 40 void lixi::calculate_danli() 41 { 42 d = p * i * n; 43 f = p + d; 44 45 printf(" 本金%0.2f 经过%d年后单利计算利息为:%0.2f. ", p, n, d); 46 printf("本息和为:%0.2f ", f); 47 48 return; 49 } 50 51 void lixi::calculate_benjin() 52 { 53 printf("请输入总金额:"); 54 scanf("%lf", &f); 55 printf("请输入年利率:"); 56 scanf("%lf", &i); 57 printf("请输入利率获取时间(年):"); 58 scanf("%d", &n); 59 60 d = f / (1 + i * n); 61 p = f / pow(1 + i, n); 62 63 printf(" 经计算,单利所需本金为:%0.2f. 复利所需本金为:%0.2f. ", d, p); 64 } 65 66 int main(void) 67 { 68 lixi user; 69 int key = 0; 70 71 printf(" |---------------------------------------------| "); 72 printf(" |--------- 1. 复利计算 ----------------| "); 73 printf(" |--------- 2. 单利计算 ----------------| "); 74 printf(" |--------- 3. 本金计算 ----------------| "); 75 printf(" |--------- 4. 退出程序 ----------------| "); 76 printf(" |---------------------------------------------| "); 77 78 79 printf(" 选择所需要的功能:"); 80 while(scanf("%d", &key) == 1) 81 { 82 switch(key) 83 { 84 case 1: 85 user.input(); 86 user.calculate_fuli(); 87 break; 88 case 2: 89 user.input(); 90 user.calculate_danli(); 91 break; 92 case 3: 93 user.calculate_benjin(); 94 case 4: 95 exit(0); 96 break; 97 } 98 printf(" 选择所需要的功能:"); 99 } 100 101 return 0; 102 }
选择相应的功能,根据提示输入相关的数据(本金, 利率, 年限),便可以计算出相应的结果