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