0320-复利计算器代码

#include<stdio.h>
#include<math.h>
void Danli();
void Fuli();
void getPrincipal();
void getYear();
void getYearRate();
void getMutualFund();
double p,i,f;
int n;
main()
{

int num=0;
while(1){
printf("\t\t\t|************复利计算器************|\n");
printf("\t\t\t|------------0.退出计算------------|\n");
printf("\t\t\t|------------1.单利----------------|\n");
printf("\t\t\t|------------2.复利----------------|\n");
printf("\t\t\t|------------3.计算本金------------|\n");
printf("\t\t\t|------------4.年限估算------------|\n");
printf("\t\t\t|------------5.估算年回报率--------|\n");
printf("\t\t\t|------------6.定额定投收益计算----|\n");
printf("\t\t\t|----------------------------------|\n");
printf("请输入选择:");
scanf("%d",&num);
switch(num)
{
case 0:
return 0;
case 1:
Danli();
break;
case 2:
Fuli();
break;
case 3:
getPrincipal();
break;
case 4:
getYear();
break;
case 5:
getYearRate();
break;
case 6:
getMutualFund();
break;
default:
return 0;
}
}
}

void Danli()
{
printf("请输入本金:");
scanf("%lf",&p);
printf("请输入年利率(百分比):");
scanf("%lf",&i);
printf("请输入存储年限:");
scanf("%d",&n);
f = p+p*(i/100)*n;
printf("单利终值为:%0.2lf\n",f);
}
void Fuli()
{
printf("请输入本金:");
scanf("%lf",&p);
printf("请输入年利率(百分比):");
scanf("%lf",&i);
printf("请输入存储年限:");
scanf("%d",&n);
f = p*(pow(1+i/100,n));
printf("复利终值为:%0.2lf\n",f);
}
void getPrincipal()
{
printf("请输入目标金额:");
scanf("%lf",&f);
printf("请输入目标利率(百分比):");
scanf("%lf",&i);
printf("请输入目标年限:");
scanf("%d",&n);
p = f/pow(1+(i/100),n);
printf("需要投入的本金为:%0.2lf\n",p);
}
void getYear()
{
printf("请输入本利和:");
scanf("%lf",&f);
printf("请输入年回报率(百分比):");
scanf("%lf",&i);
printf("请输入本金:");
scanf("%lf",&p);
for(n=1;;n++)
{
if((p*(pow((1+i/100),n)))>=f)
{
printf("最低年限为:%d\n\n",n);
break;
}
}
}
void getYearRate()
{
printf("请输入本利和:");
scanf("%lf",&f);
printf("请输入本金:");
scanf("%lf",&p);
printf("请输入目标年限:");
scanf("%d",&n);
i = pow((f/p),1.0/n)-1;
printf("年回报率为:%0.2lf\n",i);
}
void getMutualFund()
{
printf("请输入每年定投金额:");
scanf("%lf",&p);
printf("请输入年收益(百分比):");
scanf("%lf",&i);
printf("请输入定投年数:");
scanf("%d",&n);
f = p*(1+i/100)*(pow((1+i/100),n)-1)/(i/100);
printf("基金定投收益为:%0.2lf\n",f);
}

时间: 2024-11-10 13:29:10

0320-复利计算器代码的相关文章

复利计算器4.0之再遇JUnit

复利计算器4.0之再遇JUnit 前言    虽然之前的复利计算器版本已经尝试过使用JUnit单元测试,但由于没有系统性地学习过JUnit的使用,用得并不好,主要问题表现在测试的场景太少,并没有达到测试所需的全面性,没能体现JUnit这一神器的精髓所在,为此本版本的复利计算器在JUnit单元测试方面做了一些完善. 源代码包结构 如上图所示,我把测试类统一放在新建的test源码文件下(test打错了,已改),以便和程序代码分离,方便操作. 细心看你就能发现,test目录下的包和程序SRC目录下相应

复利计算器(软件工程)及Junit测试———郭志豪

计算:1.本金为100万,利率或者投资回报率为3%,投资年限为30年,那么,30年后所获得的利息收入:按复利计算公式来计算就是:1,000,000×(1+3%)^30 客户提出: 2.如果按照单利计算,本息又是多少呢? 3.假如30年之后要筹措到300万元的养老金,平均的年回报率是3%,那么,现在必须投入的本金是多少呢? 4.利率这么低,复利计算收益都这么厉害了,如果拿100万元去买年报酬率10%的股票,若一切顺利,过多长时间,100万元就变成200万元呢? 5.如果我希望在十年内将100万元变

复利计算器(软件工程)———郭志豪

计算:本金为100万,利率或者投资回报率为3%,投资年限为30年,那么,30年后所获得的利息收入:按复利计算公式来计算就是:1,000,000×(1+3%)^30 客户提出: 2.如果按照单利计算,本息又是多少呢? 3.假如30年之后要筹措到300万元的养老金,平均的年回报率是3%,那么,现在必须投入的本金是多少呢? 代码如下: 1 public static void main(String[] args) { 2 // TODO Auto-generated method stub 3 Sy

对复利计算器和股票投资的总结

这两次的实验都是用eclipse工具.java语言来写的,编写复利计算器时一共写了70行代码, 在复利计算器的基础上再进行修改和增加功能,最后得到的股票投资程序一共是82行代码. 编写复利计算器时预计是用3~4个小时,实际上却用了5个小时左右,可能是因为刚开始编写的 时候有很多java语言都忘记怎么写了,所以就花了比较多的时间去复习回以前的东西,其实 编写复利计算器程序也并不是很难,只要懂得java输出输入语言怎么写和计算复利终值的公式, 那么问题就变得简单很多了:关于股票投资的程序我本来是预计

复利计算器--结对编程

import java.awt.*; import java.awt.event.*; import java.io.*; import javax.swing.*; public class calcutor extends JFrame { private static final long serialVersionUID = 1L; File file1 = new File("fuli.txt"); File file2 = new File("danli.txt&

0329单元测试--复利计算器(组员:冯铭杰 梁毅乾)

测试要求: 对我们和复利计算程序,写单元测试. 有哪些场景? 期待的返回值 写测试程序 运行测试 场景测试: 1.测试输入值是否为空 2.测试输入值是否为负数 3.输出结果是否正确? 期待值: 1.提示输入错误 2.提示输入错误,重新输入 3.提示输出正确 功能模块  数据类型  具体数据  运行结果  复利计算  (本金,利率,年限)  (100,0.03,5)  115.9274  测试输入值为空  (本金,利率,年限)  (0,0,0)  错误 测试输入值为负数 (本金,利率,年限) (-

十进制四则运算计算器代码,输入为字符串

转发个严蔚敏老师的<数据结构及应用算法教程>里的十进制四则运算计算器代码,实习生笔试遇到过不会写,特此做个记录. ************************** 文件:calculator.c ************************** #define NonEmpty 0#define PLUS -1 // '+'#define MINUS -2 // '-'#define ASTERISK -3 // '*' #define SLANT -4 // '/'#define M

复利计算器3.01

1 此版本的复利计算器对输入的数据进行了限制,只能输入数字字符,并对输入的数据进行判断是否完整 2 package JSQ; 3 4 import java.awt.EventQueue; 5 6 import javax.swing.JFrame; 7 import javax.swing.JPanel; 8 import javax.swing.border.EmptyBorder; 9 import javax.swing.ButtonGroup; 10 import javax.swin

java版复利计算器升级

github地址:https://github.com/iamcarson/Carson 伙伴:彭宏亮 学号:201406114148 与伙伴工作帅照: 本次升级的地方: 1.改善了界面显示,让界面整体看起来比较的简洁 2.原本使用Stringbuffer来存储结果然后显示的,升级后使用数据库显示 3.实现了一个清空的功能 效果如下: : 本次使用MVC的模式,有数据层,控制层,显示层 总结:复利计算器原理不难,但是想做好却不是那么的简单,好像这一次,还有分页的功能.删除某条记录等功能还没有能力

复利计算器(4)——界面美化、自动补全

一.分工 这次终于可以跟小伙伴合作了,经过讨论,我负责界面的美化和输入框自动补全,小伙伴擅长安卓,于是将复利计算器弄成app的任务就交给了小伙伴. 二.界面美化 1.弹框提示 思路:弹框提示显示是浏览器自带,所以难免会难看些(如图一),因此引进一些jQuery的插件,将弹框美化(如图二) 图一 图二 实现:从网上下载相应的插件的jar包,将jar包引用到相应的项目中,只要在项目中写就可以实现layer.alert("请在复利金额输入框输入正数(保留两位小数)!", {icon: 100