复利程序(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 集成开发环境),功能强大齐全,界面舒服之类的 ...
随机推荐
- Huxley 是一个用于Web应用 UI 测试的工具
Huxley 是一个用于Web应用 UI 测试的工具,由 Pete Hunt 和 Maykel Loomans 用 Python 开发. UI 测试比较令人头疼. UI测试不好写,而且很容易失效: ...
- Linux--Ubuntu12.04安装NDK
前言 本篇博客将介绍如何在Ubuntu12.04下安装Android NDK,在其他版本的Ubuntu下,方法也类似.由于Android NDK不能单独作为Android应用程序来运行,因此,使用An ...
- hadoop错误之ClassNotFoundException
http://www.cnblogs.com/kaizhangzhang/p/3495438.html 在win7下运行hadoop-1.1.2 worldcount代码的时候出现下面的错误,折腾了差 ...
- composite
#coding:utf-8 import math # 在确定函数前,我们先来了解下算法 # 有数 n 判断其是否是合数 # 如果 n 除以 range(2,math.sqrt(n)+1) 能够整除, ...
- WebApi中直接返回json字符串的方法
[HttpPost] public HttpResponseMessage Upload() { string json = "{\"result\":\"tr ...
- 更新jar包中的MANIFEST.MF
当前目录存在lib.jar和MANIFEST.MF文件,在当前目录下执行: jar -uvfm lib.jar MANIFEST.MF 如果lib.jar里存在META-INF/MANIFEST.MF ...
- C8051 SMBus 原理
一.SMBus总线 SMBus串行I/O接口完全符合系统管理总线规范 1.1 版.它是一个双线的双向串行总线,与I2C串行总线兼容.系统控制器对总线的读写操作都是以字节为单位的,由SMBus接口自 ...
- glow
原则是: 先把原场景渲染到fbo,然后渲染发光的物体 然后叠加,但是问题来了,发光物体是另外一个fbo里渲染的,他没和原场景进行深度测试,导致全部绘制了,叠到一起的时候原先不该显示的部分显示 然后我立 ...
- Invalid Image Path - No image found at the path referenced under key "CFBundleIconFile": Icon.png
I got the same error when uploading my app. Moving all icon files to the Asset Catalog works if your ...
- cocos2dx在ubuntu下配置声音引擎
声音引擎库和cocos2dx的库是分开的我们要使用的时候不得不重新修改一下makefile,首先我们要找到声音引擎库的位置,在cocos2dx的 根目录下有一个lib文件,看一下是否存在libcoco ...