zoukankan      html  css  js  c++  java
  • 复利程序(c语言)(张俊毅 周修文)

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

     单元测试迟点更

      1 #include<stdio.h>
      2 #include <math.h>
      3 #include <string.h>
      4 
      5 struct jilv{
      6     char lei[20];
      7     int nian;
      8     double li,money2,money;
      9 }num[20];
     10 
     11 void frame(){
     12     printf("		*********************************
    ");
     13     printf("		*       请选择你需要的操作      *
    ");
     14     printf("		*      1、复利计算              *
    ");
     15     printf("		*      2、单利计算              *
    ");
     16     printf("		*      3、复利计算本金          *
    ");
     17     printf("		*      4、计算复利时间          *
    ");
     18     printf("		*      5、计算复利利率          *
    ");
     19     printf("		*      6、计算记录              *
    ");
     20     printf("		*      7、结束                  *
    ");
     21     printf("		*********************************
    ");
     22 }
     23 fuli(int i){
     24     int a,b,c;
     25     double d,d2,result;
     26     strcpy(num[i].lei,"复利计算");
     27     printf("请输入本金:");
     28     scanf("%d",&a);
     29     num[i].money=a;
     30     printf("请输入利率:");
     31     scanf("%lf",&d);
     32     num[i].li=d;
     33     printf("请输入年限:");
     34     scanf("%d",&b);
     35     num[i].nian=b;
     36     d=1+d;
     37     d2=pow(d,b);
     38     result=a*d2;
     39     num[i].money2=result;
     40     printf("到期后本息为:%lf
    ",result);
     41     i++;
     42 here:
     43     printf("********************
    ");
     44     printf("1.继续计算
    2.上一层
    ");
     45     scanf("%d",&c);
     46     if (c==1)
     47         fuli(i);
     48     else if (c==2)
     49         return i;
     50     else
     51     {
     52         printf("输入有误!
    ");
     53         goto here;
     54     }
     55     return i;
     56 }
     57 danli(int i)
     58 {
     59     int a,b,d;
     60     double c,result;
     61     strcpy(num[i].lei,"单利计算");
     62     printf("输入本金:");
     63     scanf("%d",&a);
     64     num[i].money=a;
     65     printf("输入利率:");
     66     scanf("%lf",&c);
     67     num[i].li=c;
     68     printf("输入年限:");
     69     scanf("%d",&b);
     70     num[i].nian=b;
     71     result=a*c*b+a;
     72     num[i].money2=result;
     73     printf("到期后本息为:%lf
    ",result);
     74     i++;
     75 here1:
     76     printf("********************
    ");
     77     printf("1.继续计算
    2.上一层
    ");
     78     scanf("%d",&d);
     79     if (d==1)
     80         danli(i);
     81     else if (d==2)
     82         return i;
     83     else
     84     {
     85         printf("输入有误!
    ");
     86         goto here1;
     87     }
     88     return i;
     89 }
     90 benjin(int i)
     91 {
     92     int a,b,c;
     93     double d,d2,result;
     94     strcpy(num[i].lei,"复利本金");
     95     printf("输入期望:");
     96     scanf("%d",&a);
     97     num[i].money2=a;
     98     printf("输入年限:");
     99     scanf("%d",&b);
    100     num[i].nian=b;
    101     printf("输入利率:");
    102     scanf("%lf",&d);
    103     num[i].li=d;
    104     d=1+d;
    105     d2=pow(d,b);
    106     result=a/d2;
    107     num[i].money=result;
    108     printf("你需要投入的本金为:%lf
    ",result);
    109     i++;
    110 here2:
    111     printf("********************
    ");
    112     printf("1.继续计算
    2.上一层
    ");
    113     scanf("%d",&c);
    114     if (c==1)
    115         benjin(i);
    116     else if (c==2)
    117         return i;
    118     else
    119     {
    120         printf("输入有误!
    ");
    121         goto here2;
    122     }
    123     return i;
    124 }
    125 shijian(int i)
    126 {
    127     int c,n=0;
    128     double a,b,d,d2,result2;
    129     strcpy(num[i].lei,"复利时间");
    130     printf("输入期望:");
    131     scanf("%lf",&a);
    132     num[i].money2;
    133     printf("输入本金:");
    134     scanf("%lf",&b);
    135     num[i].money=b;
    136     printf("输入利率:");
    137     scanf("%lf",&d);
    138     num[i].li=d;
    139     result2=a/b;
    140     d=1+d;
    141     d2=d;
    142     while (d<result2)
    143     {
    144         d=d*d2;
    145         n++;
    146     }
    147     printf("%d  ",n);printf("%lf
    ",result2);
    148     printf("需要%d年才能达到期望
    ",n);
    149     num[i].nian=n;
    150     i++;
    151 here3:
    152     printf("********************
    ");
    153     printf("1.继续计算
    2.上一层
    ");
    154     scanf("%d",&c);
    155     if (c==1)
    156         shijian(i);
    157     else if (c==2)
    158         return i;
    159     else
    160     {
    161         printf("输入有误!
    ");
    162         goto here3;
    163     }
    164     return i;
    165 }
    166 lilv(int i)
    167 {
    168     int d,c;
    169     double a,b,result,n2,n;
    170     strcpy(num[i].lei,"复利利率");
    171     printf("输入本金:");
    172     scanf("%lf",&a);
    173     num[i].money=a;
    174     printf("输入期望:");
    175     scanf("%lf",&b);
    176     num[i].money2=b;
    177     printf("输入年限:");
    178     scanf("%d",&c);
    179     num[i].nian=c;
    180     n2=(double)c;
    181     n=1/n2;
    182     a=b/a;
    183     result=pow(a,n);
    184     printf("你需要找一个利率为%lf的理财工具
    ",result-1);
    185     num[i].li=result-1;
    186     i++;
    187 here4:
    188     printf("********************
    ");
    189     printf("1.继续计算
    2.上一层
    ");
    190     scanf("%d",&d);
    191     if (d==1)
    192         lilv(i);
    193     else if (d==2)
    194         return i;
    195     else
    196     {
    197         printf("输入有误!
    ");
    198         goto here4;
    199     }
    200     return i;
    201 }
    202 biao(int i)
    203 {
    204     int b;
    205     printf("计算类型		本金		年限		利率		本息
    ");
    206     for (b=0;b<i;b++)
    207     {
    208         printf("%s	%15.3lf %12d %15.3lf %15.3lf
    ",num[b].lei,num[b].money,num[b].nian,num[b].li,num[b].money2);b++;
    209     }
    210 }
    211 
    212 main(){
    213     int a,i=0,b=0;
    214     /*for (b=0;b<20;b++)
    215     {
    216         num[b].money=0;
    217     }
    218     */
    219     frame();
    220     printf("输入需要操作的序号:");
    221     scanf("%d",&a);
    222     while(a>0&&a<=6)
    223     {
    224     switch (a)
    225     {
    226     case 1:
    227         i=fuli(i);
    228         break;
    229     case 2:
    230         i=danli(i);
    231         break;
    232     case 3:
    233         i=benjin(i);
    234         break;
    235     case 4:
    236         i=shijian(i);
    237         break;
    238     case 5:
    239         i=lilv(i);
    240         break;
    241     case 6:
    242         biao(i);
    243     }
    244     frame();
    245     printf("输入需要操作的序号:");
    246     scanf("%d",&a);
    247     }
    248     b=0;
    249     
    250 }
  • 相关阅读:
    spring+mybatis+druid+xml
    springboot run(),bean注册
    linux命令之cat
    linux命令之more
    linux中配置maven环境
    linux中配置Java环境
    linux命令之nohup
    在Eclipse中创建Maven多模块工程的例子
    MINA之心跳协议运用
    Java动态代理
  • 原文地址:https://www.cnblogs.com/Mrwhite/p/5355673.html
Copyright © 2011-2022 走看看