求C++高手将下列JAVA程序转换成C的
importjava.util.Scanner;publicclassNPV{privateintN;privatefloatNPV;privatefloatBt[]=n...
import java.util.Scanner;
public class NPV {
private int N;
private float NPV;
private float Bt[]=new float[100];
private float Ct[]=new float[100];
private float Dn;
private float Kt[]=new float[100];
public NPV(){
System.out.println("请输入NIS项目使用年限N:");
Scanner s=new Scanner(System.in);
N=s.nextInt();
System.out.println("请输入NIS项目在寿命期内t期的收益Bt:");
for(int n=0;n<N;n++){
Bt[n]=s.nextFloat();
}
System.out.println("请输入NIS项目在寿命期内t期的支出(成本)Ct:");
for(int n=0;n<N;n++){
Ct[n]=s.nextFloat();
}
System.out.println("请输入NIS项目在寿命期内t期的投资额Kt:");
for(int n=0;n<N;n++){
Kt[n]=s.nextFloat();
}
System.out.println("请输入NIS项目在寿命期内n期的残值Dn:");
Dn=s.nextFloat();
}
public float computeNPV(float i){
NPV=0;
float PVIF=1; //NIS项目在寿命期内t期的1/(1+i)t的值;
for(int n=0;n<N;n++){
for(int m=0;m<n;m++){
PVIF*=1/(1+i);
}
NPV+=(Bt[n]-Ct[n]-Kt[n])*PVIF;
PVIF=1;
}
PVIF=1;
for(int n=1;n<N;n++){
PVIF*=1/(1+i);
}
NPV+=Dn*PVIF;
return NPV;
}
public float computeIRR(){
float a,b,IRR,i;
float E=(float) 0.0001;
System.out.println("请输入a,b的值:");
Scanner s=new Scanner(System.in);
a=s.nextFloat();
b=s.nextFloat();
do{
i=a+(b-a)/2;
if(computeNPV(i)>0){a=i;}
else {b=i;}
}while(Math.abs(b-a)>=E);
IRR=(a+b)/2;
return IRR;
}
public static void main(String[] args){
NPV npv=new NPV();
float IRR=npv.computeIRR();
System.out.println(IRR);
}
} 展开
public class NPV {
private int N;
private float NPV;
private float Bt[]=new float[100];
private float Ct[]=new float[100];
private float Dn;
private float Kt[]=new float[100];
public NPV(){
System.out.println("请输入NIS项目使用年限N:");
Scanner s=new Scanner(System.in);
N=s.nextInt();
System.out.println("请输入NIS项目在寿命期内t期的收益Bt:");
for(int n=0;n<N;n++){
Bt[n]=s.nextFloat();
}
System.out.println("请输入NIS项目在寿命期内t期的支出(成本)Ct:");
for(int n=0;n<N;n++){
Ct[n]=s.nextFloat();
}
System.out.println("请输入NIS项目在寿命期内t期的投资额Kt:");
for(int n=0;n<N;n++){
Kt[n]=s.nextFloat();
}
System.out.println("请输入NIS项目在寿命期内n期的残值Dn:");
Dn=s.nextFloat();
}
public float computeNPV(float i){
NPV=0;
float PVIF=1; //NIS项目在寿命期内t期的1/(1+i)t的值;
for(int n=0;n<N;n++){
for(int m=0;m<n;m++){
PVIF*=1/(1+i);
}
NPV+=(Bt[n]-Ct[n]-Kt[n])*PVIF;
PVIF=1;
}
PVIF=1;
for(int n=1;n<N;n++){
PVIF*=1/(1+i);
}
NPV+=Dn*PVIF;
return NPV;
}
public float computeIRR(){
float a,b,IRR,i;
float E=(float) 0.0001;
System.out.println("请输入a,b的值:");
Scanner s=new Scanner(System.in);
a=s.nextFloat();
b=s.nextFloat();
do{
i=a+(b-a)/2;
if(computeNPV(i)>0){a=i;}
else {b=i;}
}while(Math.abs(b-a)>=E);
IRR=(a+b)/2;
return IRR;
}
public static void main(String[] args){
NPV npv=new NPV();
float IRR=npv.computeIRR();
System.out.println(IRR);
}
} 展开
2个回答
展开全部
#include <iostream>
using namespace std;
class NPV {
private:
int N;
float NPV;
float[100] Bt;
float[100] Ct;
float Dn;
float[100] Kt;
NPV(){
int s;
cout<<"请输入NIS项目使用年限N:";
cin>>s;
N=s.nextInt();
cout<<"请输入NIS项目在寿命期内t期的收益Bt:";
for(int n=0;n<N;n++){
Bt[n]=s.nextFloat();
}
cout<<"请输入NIS项目在寿命期内t期的支出(成本)Ct:";
for(int n=0;n<N;n++){
Ct[n]=s.nextFloat();
}
cout<<"请输入NIS项目在寿命期内t期的投资额Kt:";
for(int n=0;n<N;n++){
Kt[n]=s.nextFloat();
}
cout<<"请输入NIS项目在寿命期内n期的残值Dn:";
Dn=s.nextFloat();
}
using namespace std;
class NPV {
private:
int N;
float NPV;
float[100] Bt;
float[100] Ct;
float Dn;
float[100] Kt;
NPV(){
int s;
cout<<"请输入NIS项目使用年限N:";
cin>>s;
N=s.nextInt();
cout<<"请输入NIS项目在寿命期内t期的收益Bt:";
for(int n=0;n<N;n++){
Bt[n]=s.nextFloat();
}
cout<<"请输入NIS项目在寿命期内t期的支出(成本)Ct:";
for(int n=0;n<N;n++){
Ct[n]=s.nextFloat();
}
cout<<"请输入NIS项目在寿命期内t期的投资额Kt:";
for(int n=0;n<N;n++){
Kt[n]=s.nextFloat();
}
cout<<"请输入NIS项目在寿命期内n期的残值Dn:";
Dn=s.nextFloat();
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询