0318 复利算法4.0

#include<stdio.h>
#include <math.h>
#include<stdlib.h>
void fuli(){
    double F,P,I;
    int M,N;
    system("cls");
    printf("\t欢迎进入复利计算软件\n");
    printf("请输入存入本金:");
    scanf("%lf",&P);
    printf("请输入年利率:");
    scanf("%lf",&I);
    printf("请输入存入年限:");
    scanf("%d",&N);
    printf("请输入年复利次数:");
    scanf("%d",&M);
    printf("本金\t年利率\t存入年限\t年复利次数\n");
    printf("%.2lf\t%.2lf\t%d\t%d",P,I,N,M);
    I=pow((1+I/M),M)-1;
    F=P*pow((1+I),N);
    printf("\n输出复利终值结果:%.2lf\n",F);
}

void danli()
{

    double F,P,I;
    int N;
    system("cls");
    printf("\t欢迎进入单利计算软件\n");
    printf("请输入存入本金:");
    scanf("%lf",&P);
    printf("请输入年利率:");
    scanf("%lf",&I);
    printf("请输入存入年限:");
    scanf("%d",&N);
    printf("本金\t年利率\t存入年限 \n");
    printf("%.2lf\t%.2lf\t%d ",P,I,N);
    F=P+P*I*N;
    printf("\n输出复利终值结果:%.2lf\n",F);
}

void benjin()
{
    double F,P,I;
    int M,N;
    system("cls");
    printf("\t欢迎进入本金计算软件\n");
    printf("请输入终值:");
    scanf("%lf",&F);
    printf("请输入年利率:");
    scanf("%lf",&I);
    printf("请输入存入年限:");
    scanf("%d",&N);
    printf("请输入年复利次数:");
    scanf("%d",&M);
    printf("终值\t年利率\t存入年限\t年复利次数\n");
    printf("%.2lf\t%.2lf\t%d\t%d",F,I,N,M);
    I=pow((1+I/M),M)-1;
    P=F/pow((1+I),N);
    printf("\n输出本金结果:%.2lf\n",P);
}

void nianfen()
{
    double F,P,I,N;
    int M;
    system("cls");
    printf("\t欢迎进入投资年限计算软件\n");
    printf("请输入终值:");
    scanf("%lf",&F);
    printf("请输入年利率:");
    scanf("%lf",&I);
    printf("请输入本金:");
    scanf("%lf",&P);
    printf("请输入年复利次数:");
    scanf("%d",&M);
    printf("终值\t年利率\t本金\t年复利次数\n");
    printf("%.2lf\t%.2lf\t%.2lf\t%d",F,I,P,M);
    I=pow((1+I/M),M)-1;
    N=log(F/P)/log(1+I);
    printf("\n输出投资年限估计:%lf\n",N);
}

void lilv()
{
    double F,P,I;
    int M,N;
    system("cls");
    printf("\t欢迎进入投资项目利率计算软件\n");
    printf("请输入终值:");
    scanf("%lf",&F);
    printf("请输入本金:");
    scanf("%lf",&P);
    printf("请输入存入年限:");
    scanf("%d",&N);
    printf("请输入年复利次数:");
    scanf("%d",&M);
    printf("终值\t本金\t存入年限\t年复利次数\n");
    printf("%.2lf\t%.2lf\t%d\t%d",F,P,N,M);
    I=pow(pow(F/P,1.0/N),1.0/M)*M-M;
    printf("\n输出投资项目利率:%lf\n",I);
}
void dingqi(){
    double F,P,I;
    int N;
    system("cls");
    printf("\t欢迎进入定期投资软件\n");
    printf("请输入每期定投入投入:");
    scanf("%lf",&P);
    printf("请输入收益率:");
    scanf("%lf",&I);
    printf("请输入定期投数:");
    scanf("%d",&N);
    printf("每期定投入投入\t收益率\t定期投数\t\n");
    printf("%.2lf\t\t%.2lf\t%d\t",P,I,N);
    F=P*(1+I)*(pow((1+I),N)-1)/I;
    printf("\n输出结果:%.2lf\n",F);
}

void huankuan()
{
    double F,P,I;
    int N;
    system("cls");
    printf("\t欢迎进入等额本息法软件\n");
    printf("请输入本金:");
    scanf("%lf",&P);
    printf("请输入季利率:");
    scanf("%lf",&I);
    printf("请输入期限:");
    scanf("%d",&N);
    printf("本金\t季利率\t期限\t\n");
    printf("%.2lf\t%.2lf\t%d\t",P,I,N);
    F=P*I*pow((1+I),N)/pow((1+I),N-1);
    printf("\n每季的还款额:%.2lf\n",F);
}
main()
{
    int i;
AA:    printf("\t\n欢迎进入单复利计算软件4.0\n");
    printf("\n1.单利计算");
    printf("\n2.复利计算");
    printf("\n3.求本金");
    printf("\n4.求投资年限");
    printf("\n5.求投资项目利率估计");
    printf("\n6.定期投资");
    printf("\n7.等额还款金额");
    printf("\n请输出选择项:");
    while(1){
        scanf("%d",&i);
        if(i>0&&i<8){
        break;}
        system("cls");
        printf("\t\t输入错误,重新输入\n");
    }
    switch(i)
    {
    case 1:
        danli();
        break;
    case 2:
        fuli();
        break;
    case 3:
        benjin();
        break;
    case 4:
        nianfen();
        break;
    case 5:
        lilv();
        break;
    case 6:
        dingqi();
        break;
    case 7:
        huankuan();
        break;
    default:
        goto AA;
    }
}
时间: 2024-10-17 10:28:14

0318 复利算法4.0的相关文章

0330 复利算法5.0(包括测试)

更新说明: 本次程序和50黄柏堂同学一次完成 把C语言版本转换为JAVA: 更新了界面: 更新了测试: package fuli; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.io.IOException; import java.math.BigDecimal; import java.lang.Runtime; import javax.swing.JButton; imp

0330复利计算4.0单元测试

测试模块 输入测试 预期结果 运行结果 复/单利计算本息  (本金,年利率,年限)      1000,0.03,10 复利:1343.92 单利:1300.0 √  0,0.03,10 复利:0.0 单利:0.0   √  1000,0,10 复利:1000.0 单利:1000.0  √  1000,0.03,10 复利:1000.0 单利:1000.0  √ 复/单利计算本金   (本息,年利率,年限)      1000,0.03,10 复利:744.09 单利:769.23  √  0,

复利计算器4.0之再遇JUnit

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

普林斯顿公开课:算法第0章,课程介绍

课程介绍 这门课程核心内容是算法和数据结构. 具体的算法和数据结构如下: 数据类型:堆栈.队列.背包.并查集.优先队列. 排序:快排.并排.堆排.基数排序 查找:BST.红黑BST.哈希表 图:BFS.DFS.Prim.Kruskai.Dijkstra 字符串:KMP.正则.TST.哈夫曼.LZW 高级:B树.后缀数组.最大流 为什么要学习算法 算法在各个领域中都有应用. 算法可以提高编程效率. 算法可以将现实生活中的物理公式转换成代码,算法可以模拟现实世界,然后发现世界的奥秘. 算法是很有趣的

0319 复利计算器4.0

  /** 程序完成时间: 3月19日 9:50pm 发表时间: 3月20日 0:18am 此版本是在前三个版本的基础上添加了 等额本息还贷计算 的新功能 并且按照实验要求增强了系统的健壮性,保证在输入一部分的错误的 数据,后程序不会崩溃.例如是在输入int或者是输入double类型的 地方,输入了字符,是会提示并且允许重新输入. 并且通过宏定义使得代码变得简洁,还有简化了修改的操作,还认识 到宏定义的妙用是可以使得编程变得简单,还可以增大代码的复用性. **/ 1 #include<stdio

复利计算3.0 心得

这个星期老师在原来复利计算上布置了新的任务,让我慢慢的进入状态来一步一步的完善我的代码,虽然运行的代码不够“豪华”,但是自己有在感觉到在一点点的进步和总结,会慢慢发现每次写总结会对以后的编程之路有益,因为是在记录自己一点点的进步和解决疑惑之处,因为基础问题,在刚开始的编程之路会有很多缺陷,但是会一步步成长起来的,因为最近有学网页制作界面,发现jsp的界面编写会比java简单一些,所以这次总结后,有时间会去尝试用jsp来总结编写,因为感觉用eclipse来创建窗口太复杂. 回顾布置的问题,并附上操

为了打击网站被黑作弊行为,360搜索上线悟空算法2.0

我们在搜索浏览网页的时候,经常会出现正常网页跳转至含有色情,博彩等信息的恶意站点上去.这样严重影响到了用户的搜索体验,为了打击此类行为,360搜索正式上线了:"悟空算法2.0" 网站被黑是一种较为常见的现象,很多人通过黑客手段代码劫持,对正常的站点进行了恶意行为,现在这种现象更加的明显,这次上线的悟空算法在公告中显示:能更加准确快速地识别各种网站被黑客攻击的行为,降低恶意网站在搜索引擎中的不良展现和对用户的影响,严厉打击此类针对360搜索的作弊行为. 同时360搜索页提供了多种查杀工具

动态规划算法求解0,1背包问题

首先我们来看看动态规划的四个步骤: 1. 找出最优解的性质,并且刻画其结构特性: 2. 递归的定义最优解: 3. 以自底向上的方式刻画最优值: 4. 根据计算最优值时候得到的信息,构造最优解 其中改进的动态规划算法:备忘录法,是以自顶向下的方式刻画最优值,对于动态规划方法和备忘录方法,两者的使用情况如下: 一般来讲,当一个问题的所有子问题都至少要解一次时,使用动态规划算法比使用备忘录方法好.此时,动态规划算法没有任何多余的计算.同时,对于许多问题,常常可以利用其规则的表格存取方式,减少动态规划算

0316复利计算器3.0

#include<stdio.h> #include<math.h> double benjin=0,W=0; double year=0; int N=1; double lilv; void danli(){ printf("请输入要存入的本金:"); scanf("%lf",&benjin); printf("请输入年利率:"); scanf("%lf",&lilv); print