#include <IOSTREAM>
#include<conio.h> 
#include<string.h>
#include<stdio.h>
#include<math.h>
using namespace std;

void fuli();//求复利函数
double lixi(double double_inv,int year);//求复利利息
void danli();//求单利
void benjin();//求本金
void time();//求时间函数
void reward();//求报酬率
void sum();//求资产总值
void lend();//求本息还款
int main()
{int choice;
char choice2;
end1:system("CLS");
printf("\n\n\n\n                       欢迎使用投资与理财计算系统!\n\n");
printf("                         您想计算什么\n");
printf("                           1.单利\n");
printf("                        2.复利\n");
printf("                     3.一定金额所需本金(复利)\n");
printf("                           4.根据本金、报酬和所需金额求投股时间(年)(股票)\n");
printf("                           5.求股票报酬率\n");
printf("                           6.定息定投计算资产总值\n");
printf("                           7.求每月等额本息还款\n");

printf("                   8.退出\n");


scanf("%d",&choice);

switch(choice)
{case 1:system("CLS");danli();break;
 case 2:system("CLS");fuli();break;
 case 3:system("CLS");benjin();break;
 case 4:system("CLS");time();break;
 case 5:system("CLS");reward();break;
 case 6:system("CLS");sum();break;
     case 7:system("CLS");lend();break;
 case 8:exit(0);
}
printf("\n\n              你想继续计算么(  Y  |  N   )\n");
getchar();
scanf("%c",&choice2);
if(choice2==89||choice2==121){
    goto end1;}
else exit(0);

}
void danli()
{ 
double invest;     //投资金额
int year=3;

printf("请输入投资金额\n");
cin>>invest;
cout<<endl;
printf("请输入存入年期\n");
scanf("%d",&year);
 double inv;    //单利利息
cout<<"输入单利利息";
cin>>inv;

double sum1=0;   //单利
sum1=invest*inv*(double)year+invest;
printf("单利金额为\n");
printf("%lf",sum1);


}
void fuli(){
double lixi2; 
double invest;     //投资金额
int year=3;

printf("请输入投资金额\n");
cin>>invest;
cout<<endl;
printf("请输入存入年期\n");
scanf("%d",&year);
double double_inv;    //复利利息
cout<<"输入复利利息";
cin>>double_inv;

double sum2 =0;   //复利

lixi2=lixi(double_inv,year);

sum2=lixi2*invest;
      printf("%4lf\n",lixi2);
      printf("复利为%lf",sum2);


}

double lixi(double double_inv,int year)
{
    
    int i=0;
double x=1.0;

while(i<year)
{
 i++;
x=(1.0+double_inv)*x;     //计算复利投资的利息
    
}    printf("%4lf\n",x);
    return x;

}
void benjin()
{double lixi2; double double_inv;  
double money;     //投资金额
double sum;
int year=3;
    printf("请输入存入年期\n");
scanf("%d",&year);
cout<<"输入复利利息";
cin>>double_inv;
printf("\n请输入你想得到的金额\n");
scanf("%lf",&money);
lixi2=lixi(double_inv,year);
sum=money/lixi2;
printf("您需要存入\n%lf\n",sum);


}
void time()
{double reward; 
double invest;  //本金
double money;     //想得到的金额
double year=3;
double sum;
double x;
int j;
    printf("请输入本金\n");
scanf("%lf",&invest);
cout<<"输入股票报酬率";
cin>>reward;
printf("\n请输入你想得到的金额\n");
scanf("%lf",&money);
sum=(money-invest)/invest+1.0;
x=1.0;
for(int i=1;x<sum;i++)
{
x=(1+reward)*x;
j=i;
}




printf("需要时间为%d年\n",j);
}
void reward()
{
double reward; 
double invest;  //本金
double money;     //想得到的金额
double year=3;
double sum;
double x;
int j;
    printf("请输入本金\n");
scanf("%lf",&invest);
cout<<"输入存入年份 ";
cin>>year;
printf("\n请输入你想得到的金额\n");
scanf("%lf",&money);
sum=money/invest;
x=1.0;
for(double i=0.01;x<sum;i=i+0.01)
{
x=(1+i)*x;

j=i*100;
}
printf("需要报酬率为百分之%d\n",j);

}

void sum()
{
double reward; 
double invest;//每年定投
int year=3;
double  sum;
double reward2,reward3;

    printf("请输入每年定投\n");
scanf("%lf",&invest);
cout<<"输入存入年份 ";
cin>>year;
cout<<"输入回报";
cin>>reward;
reward3=1.0+reward;
reward2=pow(reward3,year);
sum=invest*reward3*(reward2-1.0)/reward;
printf("该资产总额为%lf",sum);
}
void lend()
{double lilv; //年利率
double invest;//贷款本金
int year=3;//期限
double  sum;//等额应还
double lilv2,lilv3,lilv4;

    printf("请输入贷款本金\n");
scanf("%lf",&invest);
cout<<"输入存入年份 ";
cin>>year;
cout<<"输入利率";
cin>>lilv;
year=12*year;
lilv2=lilv/12.0;
lilv3=lilv2+1.0;
lilv4=pow(lilv3,year);
sum=invest*lilv2*lilv4/(lilv4-1.0);
printf("每月应还金额为%lf",sum);


}

posted on 2016-03-22 10:49  小卖部程序员  阅读(331)  评论(0编辑  收藏  举报