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

单元测试迟点更

 #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. Git中当add错误的时候怎么办?

    傻傻分不清楚. “git add .”是我常用的添加命令,添加完后来个“git status ”总是有那么几次发现有不想添加的东西.好多人用reset,nonono,这样不好会有个head错误爆出. ...

  2. 解决adb server端口被占用的问题

    先执行adb nodaemon server ,查看adb server的端口是多少 C:\Users\xxxx>adb nodaemon server   cannot bind 'tcp:5 ...

  3. 用ASP.NET Core 1.0中实现邮件发送功能-阿里云邮件推送篇

    在上篇中用MailKit实现了Asp.net core 邮件发送功能,但一直未解决阿里云邮件推送问题,提交工单一开始的回复不尽如人意,比如您的网络问题,您的用户名密码不正确等,但继续沟通下阿里云客户还 ...

  4. TargetProcess 中更改了域名如何修改里面的附件地址

    在默认情况,TP 安装的目录是默认的网站(IIS)的targetprocess2下面,但是如果想采用 tp.targetprocess.cn 这种方式直接访问,则需要做一些设置. 基本要点如下: 1. ...

  5. win10 Enable developer Mode

    经过漫长的安装过程 win10终于装上了vs2015 rc-   写个小程序试试 结果提示:   根据提示打开 设置--更新--for developer 据说应该有这么个界面:   但是这个界面根本 ...

  6. Difference between Satisfiable, Valid, Unsatisfiable & Invalid

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

  7. Supervisor 的配置与使用

    环境:ubuntu 14.04 lts  http://supervisord.org/liunx 下有很多守护进程的工具,如 nohup,screen,supervisor 等,supervisor ...

  8. Oracle 数据库表同步方法浅议

    总结一下Oracle数据库表级别的复制同步 一.通过触发器进行表的复制 原理,是监听表上都某一字段进行的DML操作,然后得到DML操作的数据,重新在另一个表上执行DML操作. 优点: 简单,编写一个触 ...

  9. vmware 无法打开内核设备 \\.\Global\vmx86: 系统找不到指定的文件

    点击“开始→运行”,在运行框中输入 CMD 回车打开命令提示符,然后依次执行以下命令. net start vmci net start vmx86 net start VMnetuserif sc ...

  10. Moto G 通话没声音

    入手了摩托罗拉被 Google 收购后推出的第二款手机 Moto G (第一款是 Moto X) 后发现有个问题,有时候会莫名其妙地通话没声音,你听不到对方的,对方也听不到你的,从网上的搜索结果来看, ...