复利/单利计算程序进度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("------------------------------------------------------------\n"); printf("每年的年利率比为:"); scanf("%f",&base); printf("------------------------------------------------------------\n"); printf("输入你存入的年数:"); scanf("%d",&day); total=total*pow(1+base,day); printf("-------------------------------------------------------------\n"); printf("每年的年利率%f,连续%d年,总受益的利率:%lf\n",base,day,total); printf("-------------------------------------------------------------\n"); printf("输入本金金额:"); scanf("%f",&money); total1=money*total;//总利率 printf("-------------------------------------------------------------\n"); printf("你将可以得到:%lf\n",total1); }
客户提出:
2.如果按照单利计算,本息又是多少呢?
void danli() { int day; double total = 1.0f; float money; float base; double total1; printf("------------------------------------------------------------\n"); printf("每年的年利率比为:"); scanf("%f",&base); printf("------------------------------------------------------------\n"); printf("输入你存入的年数:"); scanf("%d",&day); total=base*day; printf("-------------------------------------------------------------\n"); printf("每年的年利率%f,连续%d年,总受益的利率:%lf\n",base,day,total); printf("-------------------------------------------------------------\n"); printf("输入本金金额:"); scanf("%f",&money); total1=money+money*total; printf("-------------------------------------------------------------\n"); printf("你将可以得到:%lf\n",total1); }
3.假如30年之后要筹措到300万元的养老金,平均的年回报率是3%,那么,现在必须投入的本金是多少呢?
void yanglaojin() { float money; float base; double total = 1.0f; int day; int x; double total1; printf("请输入你需要得到的金额:\n"); scanf("%f",&money); printf("请输入平均年回报率:\n"); scanf("%f",&base); printf("请输入存入的年数\n"); scanf("%d",&day); printf("若是复利选择1,单利选择2\n"); scanf("%d",&x); if(x==1) { total=total*pow(1+base,day); total1=money/total; printf("需要的本金为:%f\n",total1); } else { total=base*day; money=total1/(1+total); printf("需要的本金为:%f\n",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的钱\n",money,day,total1); }
5.如果我希望在十年内将100万元变成200万元,应该找到报酬率在多少的投资工具来帮助我达成目标?如果想在5年后本金翻倍,报酬率就应至少为多少才行呢?
void bangzhaotouzhi() { double day; double money; double base; double total; printf("------------------------------------------------------------\n"); printf("输入你存入的年数:"); scanf("%lf",&day); printf("输入本金金额:"); scanf("%lf",&money); printf("输入你赢得的钱:"); scanf("%lf",&total); base= (double) (((total-money)/money)/day); printf("-------------------------------------------------------------\n"); printf("需要投资年利率%lf的理财产品。\n",base); }
6.如果每年都将积蓄的3万元进行投资,每年都能获得3%的回报,然后将这些本利之和连同年金再投入新一轮的投资,那么,30年后资产总值将变为多少?如果换成每月定投3000呢?
void duocitouzhi() { double money,year,base,total,total1; printf("------------------------------------------------------------\n"); printf("输入你存入的年数:"); scanf("%lf",&year); printf("输入本金金额:"); scanf("%lf",&money); printf("输入年利率:"); scanf("%lf",&base); total=money*pow(1+base,year); printf("%lf年后,能够得到%lf的总资产。\n",year,total); }
所用语言与工具:C语言 vc6.0,
代码行:160行
工作量(人时):2个小时。
7. 你写的程序能让客户随意操作吗?误输入数据、不小心做了非常规的操作程序是什么反应?
相互观赏程序运行情况。
8. 如果向银行贷款10万元,年利率6.5%,期限为10年,那么每月等额本息还款多少?(算复利条件下等额还款金额)
void daikuan() { double P,i,money; double N,month; printf("请输入贷款金额:\n"); scanf("%lf",&P); printf("请输入年利率:\n"); scanf("%lf",&i); printf("请输入归还年限:\n"); 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元。\n",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点。