复利/单利计算程序进度0321更新

1.客户说:帮我开发一个复利计算软件。

完成复利公式计算程序,并成功PUSH到github上。

截止时间:3.10晚12点之前。 

按照这个要求完成了。

演示。 

计算:本金为100万,利率或者投资回报率为3%,投资年限为30年,那么,30年后所获得的利息收入:按复利计算公式来计算就是:1,000,000×(1+3%)^30

void fuli()
{
    int day;
    double total = 1.0f;
    float money;
    float base;
    double total1;
    printf("------------------------------------------------------------
");
    printf("每年的年利率比为:");
    scanf("%f",&base);
    printf("------------------------------------------------------------
");
    printf("输入你存入的年数:");
    scanf("%d",&day);
    total=total*pow(1+base,day);    
    printf("-------------------------------------------------------------
");
    printf("每年的年利率%f,连续%d年,总受益的利率:%lf
",base,day,total);
    printf("-------------------------------------------------------------
");
    printf("输入本金金额:");
    scanf("%f",&money);
    total1=money*total;//总利率
    printf("-------------------------------------------------------------
");
    printf("你将可以得到:%lf
",total1);
}

客户提出:

2.如果按照单利计算,本息又是多少呢?

void danli()
{
    int day;
    double total = 1.0f;
    float money;
    float base;
    double total1;
    printf("------------------------------------------------------------
");
    printf("每年的年利率比为:");
    scanf("%f",&base);
    printf("------------------------------------------------------------
");
    printf("输入你存入的年数:");
    scanf("%d",&day);
    total=base*day;    
    printf("-------------------------------------------------------------
");
    printf("每年的年利率%f,连续%d年,总受益的利率:%lf
",base,day,total);
    printf("-------------------------------------------------------------
");
    printf("输入本金金额:");
    scanf("%f",&money);
    total1=money+money*total;
    printf("-------------------------------------------------------------
");
    printf("你将可以得到:%lf
",total1);
}

3.假如30年之后要筹措到300万元的养老金,平均的年回报率是3%,那么,现在必须投入的本金是多少呢?

void yanglaojin()
{
     float money;
     float base;
     double total = 1.0f;
     int day;
     int x;
     double total1;
     printf("请输入你需要得到的金额:
");
     scanf("%f",&money);
     printf("请输入平均年回报率:
");
     scanf("%f",&base);
     printf("请输入存入的年数
");
     scanf("%d",&day);
     printf("若是复利选择1,单利选择2
");
     scanf("%d",&x);
     if(x==1)
     {
     total=total*pow(1+base,day);
     total1=money/total;
     printf("需要的本金为:%f
",total1);
     }
     else
     {
     total=base*day;
     money=total1/(1+total);
     printf("需要的本金为:%f
",money);
     }
}

客户又想:

4.利率这么低,复利计算收益都这么厉害了,如果拿100万元去买年报酬率10%的股票,若一切顺利,过多长时间,100万元就变成200万元呢? 

void maigupiao(){
    float day;
    double total = 1.0f;
    float money;
    float base;
    double total1;
    printf("每年的年利率比为:");
    scanf("%f",&base);
    printf("输入本金金额:");
    scanf("%f",&money);
    printf("输入你赢得的钱:");
    scanf("%d",&total1);
    base=base*100;
    day=(72/base);    //该公式只针对翻倍有用
    printf("当本金是%f时,需要%f年才能赢得%d的钱
",money,day,total1);
}

5.如果我希望在十年内将100万元变成200万元,应该找到报酬率在多少的投资工具来帮助我达成目标?如果想在5年后本金翻倍,报酬率就应至少为多少才行呢?

void bangzhaotouzhi()
{
    double day;
    double money;
    double base;
    double total;
    printf("------------------------------------------------------------
");
    printf("输入你存入的年数:");
    scanf("%lf",&day);    
    printf("输入本金金额:");
    scanf("%lf",&money);
    printf("输入你赢得的钱:");
    scanf("%lf",&total);
    base= (double) (((total-money)/money)/day);
    printf("-------------------------------------------------------------
");
    printf("需要投资年利率%lf的理财产品。
",base);
}

6.如果每年都将积蓄的3万元进行投资,每年都能获得3%的回报,然后将这些本利之和连同年金再投入新一轮的投资,那么,30年后资产总值将变为多少?如果换成每月定投3000呢?

void duocitouzhi()
{    
    double money,year,base,total,total1;
    printf("------------------------------------------------------------
");
    printf("输入你存入的年数:");
    scanf("%lf",&year);    
    printf("输入本金金额:");
    scanf("%lf",&money);
    printf("输入年利率:");
    scanf("%lf",&base);
    total=money*pow(1+base,year);
    printf("%lf年后,能够得到%lf的总资产。
",year,total);

}

所用语言与工具:C语言  vc6.0,

代码行:160行

工作量(人时):2个小时。

7. 你写的程序能让客户随意操作吗?误输入数据、不小心做了非常规的操作程序是什么反应? 

    相互观赏程序运行情况。

8. 如果向银行贷款10万元,年利率6.5%,期限为10年,那么每月等额本息还款多少?(算复利条件下等额还款金额)

void daikuan()
{
    double P,i,money;
    double N,month;
    printf("请输入贷款金额:
");
    scanf("%lf",&P);
    printf("请输入年利率:
");
    scanf("%lf",&i);
    printf("请输入归还年限:
");
    scanf("%lf",&N);
    i = i/12;
    month = N*12;
    money = P*i*pow((1.0+i),month)/(pow(1.0+i,month)-1);
    printf("每月等额本息还款%lf元。
",money);
    
}

改善完成至要求8,并成功PUSH到github上。

9. 好书不读就浪费钱了,阅读教材《构建之法》第1.2.3章,适当扩展阅读,看不懂不理解的时候记得百度, 并写一个读后感博客,每章必须至少提一个问题。在博客中要列出问题是关于哪一章,哪一节,你的困惑在哪里? 有什么思考?更重要的,让博客园铭记我们纷纷而来的收获与感悟。

10. 另外,我们准备找搭档了,找到你志趣相投的小伙伴。

论伙伴的重要性,看电影《硅谷传奇》,感受下传奇牛人的影响一生的搭档。

截止时间:2016.3.21晚11点之前

12. 即要追求利益,又要面对不可预知的金融投资风险, “不能把鸡蛋放在同一个篮子里”,所以有必要进行组合投资。

     通过上述计算与对比,可以帮助客户进行投资决策。 
     客户:那么能否帮我记录下一笔一笔不同类型的投资,并动态显示资金现值呢?

我们已经完成的这些功能,已经足以做成一个独立应用了。  

但是并没有以商业标准来要求。

现在假设金融公司为客户算收益直接调用我们的计算函数,能不能保证万无一失?

5.0 单元测试-----------------------------

1.团队协作准备:每个同学在github上完成FORK,COMMENT(学号后三位+姓名),PR,MERGE的过程。

2.对我们和复利计算程序,写单元测试。 

   有哪些场景?

   期待的返回值

   写测试程序。

   运行测试。

   写一篇测试博客。

 截止日期:2016.3.29晚11点。

原文地址:https://www.cnblogs.com/luliqin/p/5282218.html