因为之前发烧一直没有了解这个 所以最近才补上 分数扣了就扣了 补上先

单元测试迟点更

 #include<stdio.h>
#include <math.h>
#include <string.h> struct jilv{
char lei[];
int nian;
double li,money2,money;
}num[]; void frame(){
printf("\t\t*********************************\n");
printf("\t\t* 请选择你需要的操作 *\n");
printf("\t\t* 1、复利计算 *\n");
printf("\t\t* 2、单利计算 *\n");
printf("\t\t* 3、复利计算本金 *\n");
printf("\t\t* 4、计算复利时间 *\n");
printf("\t\t* 5、计算复利利率 *\n");
printf("\t\t* 6、计算记录 *\n");
printf("\t\t* 7、结束 *\n");
printf("\t\t*********************************\n");
}
fuli(int i){
int a,b,c;
double d,d2,result;
strcpy(num[i].lei,"复利计算");
printf("请输入本金:");
scanf("%d",&a);
num[i].money=a;
printf("请输入利率:");
scanf("%lf",&d);
num[i].li=d;
printf("请输入年限:");
scanf("%d",&b);
num[i].nian=b;
d=+d;
d2=pow(d,b);
result=a*d2;
num[i].money2=result;
printf("到期后本息为:%lf\n",result);
i++;
here:
printf("********************\n");
printf("1.继续计算\n2.上一层\n");
scanf("%d",&c);
if (c==)
fuli(i);
else if (c==)
return i;
else
{
printf("输入有误!\n");
goto here;
}
return i;
}
danli(int i)
{
int a,b,d;
double c,result;
strcpy(num[i].lei,"单利计算");
printf("输入本金:");
scanf("%d",&a);
num[i].money=a;
printf("输入利率:");
scanf("%lf",&c);
num[i].li=c;
printf("输入年限:");
scanf("%d",&b);
num[i].nian=b;
result=a*c*b+a;
num[i].money2=result;
printf("到期后本息为:%lf\n",result);
i++;
here1:
printf("********************\n");
printf("1.继续计算\n2.上一层\n");
scanf("%d",&d);
if (d==)
danli(i);
else if (d==)
return i;
else
{
printf("输入有误!\n");
goto here1;
}
return i;
}
benjin(int i)
{
int a,b,c;
double d,d2,result;
strcpy(num[i].lei,"复利本金");
printf("输入期望:");
scanf("%d",&a);
num[i].money2=a;
printf("输入年限:");
scanf("%d",&b);
num[i].nian=b;
printf("输入利率:");
scanf("%lf",&d);
num[i].li=d;
d=+d;
d2=pow(d,b);
result=a/d2;
num[i].money=result;
printf("你需要投入的本金为:%lf\n",result);
i++;
here2:
printf("********************\n");
printf("1.继续计算\n2.上一层\n");
scanf("%d",&c);
if (c==)
benjin(i);
else if (c==)
return i;
else
{
printf("输入有误!\n");
goto here2;
}
return i;
}
shijian(int i)
{
int c,n=;
double a,b,d,d2,result2;
strcpy(num[i].lei,"复利时间");
printf("输入期望:");
scanf("%lf",&a);
num[i].money2;
printf("输入本金:");
scanf("%lf",&b);
num[i].money=b;
printf("输入利率:");
scanf("%lf",&d);
num[i].li=d;
result2=a/b;
d=+d;
d2=d;
while (d<result2)
{
d=d*d2;
n++;
}
printf("%d ",n);printf("%lf\n",result2);
printf("需要%d年才能达到期望\n",n);
num[i].nian=n;
i++;
here3:
printf("********************\n");
printf("1.继续计算\n2.上一层\n");
scanf("%d",&c);
if (c==)
shijian(i);
else if (c==)
return i;
else
{
printf("输入有误!\n");
goto here3;
}
return i;
}
lilv(int i)
{
int d,c;
double a,b,result,n2,n;
strcpy(num[i].lei,"复利利率");
printf("输入本金:");
scanf("%lf",&a);
num[i].money=a;
printf("输入期望:");
scanf("%lf",&b);
num[i].money2=b;
printf("输入年限:");
scanf("%d",&c);
num[i].nian=c;
n2=(double)c;
n=/n2;
a=b/a;
result=pow(a,n);
printf("你需要找一个利率为%lf的理财工具\n",result-);
num[i].li=result-;
i++;
here4:
printf("********************\n");
printf("1.继续计算\n2.上一层\n");
scanf("%d",&d);
if (d==)
lilv(i);
else if (d==)
return i;
else
{
printf("输入有误!\n");
goto here4;
}
return i;
}
biao(int i)
{
int b;
printf("计算类型\t\t本金\t\t年限\t\t利率\t\t本息\n");
for (b=;b<i;b++)
{
printf("%s\t%15.3lf %12d %15.3lf %15.3lf\n",num[b].lei,num[b].money,num[b].nian,num[b].li,num[b].money2);b++;
}
} main(){
int a,i=,b=;
/*for (b=0;b<20;b++)
{
num[b].money=0;
}
*/
frame();
printf("输入需要操作的序号:");
scanf("%d",&a);
while(a>&&a<=)
{
switch (a)
{
case :
i=fuli(i);
break;
case :
i=danli(i);
break;
case :
i=benjin(i);
break;
case :
i=shijian(i);
break;
case :
i=lilv(i);
break;
case :
biao(i);
}
frame();
printf("输入需要操作的序号:");
scanf("%d",&a);
}
b=; }

复利程序(c语言)(张俊毅 周修文)的更多相关文章

  1. java 版的复利计算器(张俊毅 周修文)

    (带有本金的选项卡的意思就是计算你在知道利率.年限和本息的情况下计算本金) 在利率的输入中能限制小数点的输入并且输入字母会被直接去除 每一个选项卡都有复利和单利的计算,并且在你计算之后会立即更新在下面 ...

  2. 0330 复利程序c语言版转java版 会逐渐更进版

    import java.util.Scanner; public class compounding { public static void main(String[] args) { menu() ...

  3. 20145223《Java程序程序设计》第9周学习总结

    20145223<Java程序设计>第9周学习总结 教材学习内容总结 第十六章:整合数据库 JDBC入门 1.JDBC简介: 2.JDBC主要分成两个部分,JDBC应用程序开发者接口和JD ...

  4. 如何把程序钉到Windows7任务栏(修正版)

    源:如何把程序钉到Windows7任务栏(修正版) 在CSDN论坛看到有网友提问如何把程序钉到Windows7的任务栏,ccrun(妖哥)对这个问题很感兴趣,于是google了一下,没有找到相关的AP ...

  5. Android群英传帝落篇——程序人生,路漫漫其修远兮,吾将上下而求索!

    Android群英传帝落篇--程序人生,路漫漫其修远兮,吾将上下而求索! 当写这篇博客的时候,自2016-02-22到现在5.2号,一晃眼,也㓟两个多月就过去了,我才将这本书看完,虽然写笔记花了很大的 ...

  6. 微信小程序开发语言的选择

    微信使用的开发语言和文件很「特殊」. 小程序所使用的程序文件类型大致分为以下几种: ①WXML(WeiXin Mark Language,微信标记语言) ②WXSS(WeiXin Style Shee ...

  7. 【ZZ】各类程序开发语言概述 | 菜鸟教程

    http://www.runoob.com/w3cnote/programming-intro.html 各类程序开发语言概述, 点击查看大图:

  8. Erlang下与其他程序和语言的通信机制(1)

    在Erlang运行时中,提供了几种机制来实现与其它程序或者语言的通信.一种为分布式Erlang,一种为端口,其中端口分为普通端口和链入式驱动端口,还有后面引入的NIFs. 分布式Erlang:一个Er ...

  9. 1,[VS入门教程] 使用Visual Studio写c语言 入门与技巧精品文~~~~下载安装篇

    Microsoft Visual Studio是微软(俗称巨硬)公司出品的强大IDE(Integrated Development Environment 集成开发环境),功能强大齐全,界面舒服之类的 ...

随机推荐

  1. ldr和adr在使用标号表达式作为操作数的区别

    ARM汇编有ldr指令以及ldr.adr伪指令,他门都可以将标号表达式作为操作数,下面通过分析一段代码以及对应的反汇编结果来说明它们的区别. ldr     r0, _start adr     r0 ...

  2. Enclosure POJ

    0:Enclosure http://poj.openjudge.cn/challenge3/0/ 查看 提交 统计 提问 总时间限制:  1000ms 内存限制:  131072kB 描述 为了防止 ...

  3. Difference between Satisfiable, Valid, Unsatisfiable & Invalid

    A formula is satisfiable if it is possible to find an interpretation (model) that makes the formula  ...

  4. atom 安装插件出现 EIO 错误

    今天给 atom 安装一个插件autocomplete-python的时候出现错误 npm ERR! Windows_NT 6.1.7600 npm ERR! argv "C:\\Progr ...

  5. CvMat 矩阵的使用方法和简单程序

    一:CvMat* cvInitMatHeader( CvMat* mat, int rows, int cols, int type,void* data=NULL, int step=CV_AUTO ...

  6. Entityframework修改某个字段

    public void ChangePassword(int userId, string password) { var user = new User() { Id = userId, Passw ...

  7. SQL 存储过程入门(事务)(四)

    SQL 存储过程入门(事务)(四)   本篇我们来讲一下事务处理技术. 为什么要使用事务呢,事务有什么用呢,举个例子. 假设我们现在有个业务,当做成功某件事情的时候要向2张表中插入数据,A表,B表,我 ...

  8. 增大VM下linux的根目录空间

    增大VM下linux的根目录空间   用的太久,发现VM下的系统空间不足.简单的方法是,分一个新硬盘,挂载到根目录下.    下面是直接增大根目录下空间:  1. 增大vm下的磁盘大小, VM -&g ...

  9. Android界面布局基本属性

    在 android 中我们常用的布局方式有这么几种:1.LinearLayout ( 线性布局 ) :(里面只可以有一个控件,并且不能设计这个控件的位置,控件会放到左上角)              ...

  10. 二十四、【开源】EFW框架Winform前端开发之项目结构说明和调试方法

    回<[开源]EFW框架系列文章索引>        EFW框架源代码下载V1.2:http://pan.baidu.com/s/1hcnuA EFW框架实例源代码下载:http://pan ...