复利计算3.0

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了复利计算3.0相关的知识,希望对你有一定的参考价值。


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

根据提示选择相应的功能,输入数据并计算得到结果:

技术分享技术分享

以上是关于复利计算3.0的主要内容,如果未能解决你的问题,请参考以下文章

复利计算1.0,2.0,3.0

复利计算3.0

复利计算3.0

复利计算3.0

复利计算3.0

复利计算1.0,2.0,3.0(补交)