• 复利计算的实验总结跟感悟


    1、开始用的开发工具是eclipse,后来改为用c语言,前两次的代码有200左右,一个人操作,工作量为100分钟左右。

    2、估计完成第4,5个实验所需代码行数为130左右,一个人操作,所用时间80分钟。

    3、估计完成第6个实验所需代码行数70左右,所用时间一人90分钟。

    4、现已经完成了全部实验,实际代码行数为169行左右。所用时间总共为170分钟左右。这明显跟以上统计的有些差距,说明自己的实际情况还是有很大的不了解,以后要不断去衡量自己的情况,从而去定制更加符合要求的,这样更加方便以后的工作的提高,而之前用java来做,并不影响用c语言,差距不是很大。

     感悟:

    个人编写代码的能力还是不太乐观,本来项目不大的一个实验,花费了很多时间,不断想不断敲代码,下次需要改进方法,想衡量架构怎么实现,然后再分析是需要什么函数的调用,再去敲代码,这样效果应该会好点,这是在这次实验的一个总结。

     

      1 #include<stdio.h>
      2 #include<math.h>
      3 
      4 double danli(double i,int N,double P)
      5 {
      6     double nlx,F;
      7     nlx = P*i;
      8     F = nlx*N + P;
      9     return F;
     10 
     11 }
     12 
     13 double fuli(double i,int W,int N,double P)
     14 {
     15     double F;
     16     i=pow(1+i/W,W)-1;
     17     F=P*pow((i+1),N);
     18     return F;
     19 }
     20 
     21 double gusuan(double i,int W,int N,double F)
     22 {
     23     double P;
     24     i = pow(1+i/W,W)-1;
     25     P = F/pow((i+1),N);
     26     return P;
     27 }
     28 double shijian(double P,double i,double F)
     29 {
     30     double N,x;
     31     x=F/P;
     32     N=(log(x))/(log(i+1));
     33     return N;
     34 
     35 }
     36 double nianxian(double P,double N,double F)
     37 {
     38     double i;
     39      //i = W*(pow(pow(F/P,1.0/N),1.0/W)-1.0);
     40      i = pow(F/P,1.0/N)-1.0;
     41      return i;
     42 }
     43 double sum()
     44 {
     45      double y,yue,F=0.0,i,mi;
     46      double nl,yl;
     47      int N,W;
     48      int ch,j;
     49      printf("****** 1-年投资  2-月投资 ******
    ");
     50      scanf("%d",&ch);
     51      if(ch == 1)
     52      {
     53          printf("请输入年投资额:
    ");
     54         scanf("%lf",&y);
     55      }
     56      else
     57      {
     58          printf("请输入月投资额:
    ");
     59          scanf("%lf",&yue);
     60      }
     61      
     62      printf("请输入年利率
    ");
     63      scanf("%lf",&i);
     64      printf("请输入年限
    ");
     65      scanf("%d",&N);
     66      
     67      if(ch == 1)
     68      {
     69          F = y;
     70          for(j=0 ; j<N ; j++)
     71          {
     72              nl = F*i;
     73              F=y+nl+F;
     74          }
     75         return F-y;
     76      }
     77      else
     78      {
     79          F = yue;
     80          mi = i/12.0;
     81          for(j=0 ; j<N*12 ; j++)
     82          {
     83              yl = F*mi;
     84             F=yue+yl+F;
     85          }
     86          return F-yue;
     87     }
     88     
     89     
     90  }
     91 void main()
     92 {
     93     double P,F1,F,i; //P是本金,F是收益,i年利率
     94     int N,W,ch2; //是期限
     95     while(1)
     96     {
     97     printf("		***************欢迎使用复利计算器*************
    
    ");
     98     printf("		|     -----1--------为复利---------------    |
    
    ");
     99     printf("		|     -----2--------为单利---------------    |
    
    ");
    100     printf("		|     -----3-------为估算----------------    |
    
    ");
    101     printf("		|     -----4-------为年限----------------    |
    
    ");
    102     printf("		|     -----5-------为年利率--------------    |
    
    ");
    103     printf("		|     -----6-------为月年收益--------------    |
    
    ");
    104     printf("		|     -----0-------为退出----------------    |
    
    ");
    105     printf("		**************请选择想要的功能************
    ");
    106     scanf("%d",&ch2);//控制选择
    107     switch(ch2){
    108     case 1:
    109         printf("请输入本金:
    ");
    110         scanf("%lf",&P);
    111         printf("请输入年利率
    ");
    112         scanf("%lf",&i);
    113         printf("请输入年限:
    ");
    114         scanf("%d",&N);
    115         printf("请输入复利次数:
    ");
    116         scanf("%d",&W);
    117         F1 = fuli(i,W,N,P); break;
    118     case 2:
    119         printf("请输入本金:
    ");
    120         scanf("%lf",&P);
    121         printf("请输入年利率
    ");
    122         scanf("%lf",&i);
    123         printf("请输入年限:
    ");
    124         scanf("%d",&N);
    125         F1 = danli(i,N,P); break;
    126     case 3:
    127         printf("请输入本利
    ");
    128         scanf("%lf",&F);
    129         printf("请输入年利率
    ");
    130         scanf("%lf",&i);
    131         printf("请输入年限:
    ");
    132         scanf("%d",&N);
    133         printf("请输入复利次数:
    ");
    134         scanf("%d",&W);
    135         F1 = gusuan(i,W,N,F);
    136         break;
    137         
    138     case 4:
    139         printf("请输入本金
    ");
    140         scanf("%lf",&P);
    141         printf("请输入年利率
    ");
    142         scanf("%lf",&i);
    143          printf("请输入本利
    ");
    144         scanf("%lf",&F);
    145         F1=shijian(P,i,F);
    146         break;
    147     case 5:
    148 
    149         printf("请输入本金:
    ");
    150          scanf("%lf",&P);
    151          printf("请输入本利:
    ");
    152          scanf("%lf",&F);
    153          printf("请输入年限
    ");
    154          scanf("%d",&N);
    155         F1=nianxian(P,N,F);
    156         
    157 //    i=pow((F/P),(1.0/N))-1;
    158         break;
    159     case 6:
    160         F1=sum();
    161         break;
    162 
    163     case 0:break;
    164     }
    165     if(ch2==0)
    166         break;
    167     printf("结果为:%.2lf
    ",F1);
    168     }
    169 } 

  • 相关阅读:
    初识EntityFramework6
    EntityFramework6 快速入门教程
    使用EntityFramework6连接MySQL
    Less的安装与配置
    Gitlab-CI持续集成之Runner配置和CI脚本
    CPU简单科普
    Mysql技能之【性能优化方案】
    自动化测试探索学习之路(1)
    性能测试知识之基础理论
    http协议、cookie及session
  • 原文地址:https://www.cnblogs.com/caicaihong/p/5288959.html
Copyright © 2020-2023  润新知