复利程序(c语言)(张俊毅 周修文)
因为之前发烧一直没有了解这个 所以最近才补上 分数扣了就扣了 补上先
单元测试迟点更
#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语言)(张俊毅 周修文)的更多相关文章
- java 版的复利计算器(张俊毅 周修文)
(带有本金的选项卡的意思就是计算你在知道利率.年限和本息的情况下计算本金) 在利率的输入中能限制小数点的输入并且输入字母会被直接去除 每一个选项卡都有复利和单利的计算,并且在你计算之后会立即更新在下面 ...
- 0330 复利程序c语言版转java版 会逐渐更进版
import java.util.Scanner; public class compounding { public static void main(String[] args) { menu() ...
- 20145223《Java程序程序设计》第9周学习总结
20145223<Java程序设计>第9周学习总结 教材学习内容总结 第十六章:整合数据库 JDBC入门 1.JDBC简介: 2.JDBC主要分成两个部分,JDBC应用程序开发者接口和JD ...
- 如何把程序钉到Windows7任务栏(修正版)
源:如何把程序钉到Windows7任务栏(修正版) 在CSDN论坛看到有网友提问如何把程序钉到Windows7的任务栏,ccrun(妖哥)对这个问题很感兴趣,于是google了一下,没有找到相关的AP ...
- Android群英传帝落篇——程序人生,路漫漫其修远兮,吾将上下而求索!
Android群英传帝落篇--程序人生,路漫漫其修远兮,吾将上下而求索! 当写这篇博客的时候,自2016-02-22到现在5.2号,一晃眼,也㓟两个多月就过去了,我才将这本书看完,虽然写笔记花了很大的 ...
- 微信小程序开发语言的选择
微信使用的开发语言和文件很「特殊」. 小程序所使用的程序文件类型大致分为以下几种: ①WXML(WeiXin Mark Language,微信标记语言) ②WXSS(WeiXin Style Shee ...
- 【ZZ】各类程序开发语言概述 | 菜鸟教程
http://www.runoob.com/w3cnote/programming-intro.html 各类程序开发语言概述, 点击查看大图:
- Erlang下与其他程序和语言的通信机制(1)
在Erlang运行时中,提供了几种机制来实现与其它程序或者语言的通信.一种为分布式Erlang,一种为端口,其中端口分为普通端口和链入式驱动端口,还有后面引入的NIFs. 分布式Erlang:一个Er ...
- 1,[VS入门教程] 使用Visual Studio写c语言 入门与技巧精品文~~~~下载安装篇
Microsoft Visual Studio是微软(俗称巨硬)公司出品的强大IDE(Integrated Development Environment 集成开发环境),功能强大齐全,界面舒服之类的 ...
随机推荐
- Scala 深入浅出实战经典 第58讲:Scala中Abstract Types实战详解
王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-87讲)完整视频.PPT.代码下载: 百度云盘:http://pan.baidu.com/s/1c0noOt ...
- 【LeetCode】338. Counting Bits (2 solutions)
Counting Bits Given a non negative integer number num. For every numbers i in the range 0 ≤ i ≤ num ...
- 绘制n边形:用两个以上的控件来控制矩形的颜色、大小、位置及空实心(程序代写)
绘制n边形:用两个以上的控件来控制矩形的颜色.大小.位置及空实心.(n由键盘输入) package lzy.di9zhang; import java.awt.BorderLayout;import ...
- drupal7 Views Slideshow 简单教程
一.下载安装(略) 二.内容类型建立(过程略,首页幻灯),字段建立(过程略)主要有2个字段,图片字段 和 指向链接字段 三.view 1.建立一个新的view,名称为frontbanner 显示为内容 ...
- System.Runtime.InteropServices.COMException: Exception from HRESULT: 0x800AC472
更新至服务器后运行出错: System.Runtime.InteropServices.COMException: Exception from HRESULT: 0x800AC472 解决方法 注册 ...
- Cocos2d-JS项目之一:环境(IDE 运行js-tests、IDE 和 studio 统一工程)
环境:cocos 引擎(包括 studio)2.2.1 for Mac.cocos2d-js-v3.5.Cocos Code IDE 1.2 for Mac,cocos 引擎指的是下面这个东西: 各种 ...
- saiku、mondrian前奏之——立方体、维度、Schema的基本概念
以前介绍了几个基本工具:saiku 和 Schema Workbench,算是入门级别的了解多维报表,如果要继续深入,需要深入了解如下几个概念: 1.OLAP 联机分析处理,和他对应的是OLTP(联机 ...
- MSIL 教程(三):类和异常处理(转)
转自:http://www.cnblogs.com/Yahong111/archive/2007/08/16/857771.html 续上文[翻译]MSIL 教程(二):数组.分支.循环.使用不安全代 ...
- 使用UIKit制作卡牌游戏(一)ios游戏篇
转自朋友Tommy 的翻译,自己只翻译了第三篇教程. 译者: Tommy | 原文作者: Matthijs Hollemans写于2012/06/29 原文地址: http://www.raywend ...
- slf4j日志系统
slf4j:由外观模式实现,不是日志的解决方案,只是服务于各种各样的日志系统.可以让在应用部署的时候,选择合适的日志系统 slf4j + log4j : 配置日志文件:log4j.properties ...