求一个关于单利与复利的计算程序,编译没有关问题但得不到想要的结果
求高手指点一个关于单利与复利的计算程序,编译没问题但得不到想要的结果
//fuliyudanli.cpp -- 复利与单利的投资计算程序 ;并计算复利大于单利投资需要多少年
#include <IOSTREAM>
int main()
{
using namespace std;
double invest; //投资金额
cout<<"enter invest numbers:";
cin>>invest;
cout<<endl;
int simply_inv; //单利利息
cout<<"enter simply_inv number:";
cin>>simply_inv;
int double_inv; //复利利息
cout<<"enter double_inv number:";
cin>>double_inv;
double sum1 = 0; //单利投资利息
double sum2 = 0; //复利投资利息
int year = 0;
while(sum2<=sum1)
{
++year;
sum1=invest*simply_inv+sum1; //计算单利投资的利息
sum2=(invest+sum2)*double_inv+sum2; //计算复利投资的利息
}
cout<<"经过"<<year<<"年后,复利投资价值才能超过单利投资价值。"<<endl;
cout<<"此时,单利投资价值为"<<sum1<<",而复利投资价值为"<<sum2<<endl;
return 0;
}
执行后的
求高手指点哪里出问题了???
------解决思路----------------------
double simply_inv; //单利利息
cout<<"enter simply_inv number:";
cin>>simply_inv;
double double_inv; //复利利息
cout<<"enter double_inv number:";
cin>>double_inv;
既然是想输入小数,自然不能用int了。改回红色的double
//fuliyudanli.cpp -- 复利与单利的投资计算程序 ;并计算复利大于单利投资需要多少年
#include <IOSTREAM>
int main()
{
using namespace std;
double invest; //投资金额
cout<<"enter invest numbers:";
cin>>invest;
cout<<endl;
int simply_inv; //单利利息
cout<<"enter simply_inv number:";
cin>>simply_inv;
int double_inv; //复利利息
cout<<"enter double_inv number:";
cin>>double_inv;
double sum1 = 0; //单利投资利息
double sum2 = 0; //复利投资利息
int year = 0;
while(sum2<=sum1)
{
++year;
sum1=invest*simply_inv+sum1; //计算单利投资的利息
sum2=(invest+sum2)*double_inv+sum2; //计算复利投资的利息
}
cout<<"经过"<<year<<"年后,复利投资价值才能超过单利投资价值。"<<endl;
cout<<"此时,单利投资价值为"<<sum1<<",而复利投资价值为"<<sum2<<endl;
return 0;
}
执行后的
求高手指点哪里出问题了???
------解决思路----------------------
double simply_inv; //单利利息
cout<<"enter simply_inv number:";
cin>>simply_inv;
double double_inv; //复利利息
cout<<"enter double_inv number:";
cin>>double_inv;
既然是想输入小数,自然不能用int了。改回红色的double