2016-04-22 7 views
-1

私はプログラミングクラスの短いコードを作成しています。これらの2つのエラーを修正する方法を理解できません: "void値があるべきとして無視」と 『値のreturnステートメント、関数に『ボイド』戻らない[ - F-許容]最初のエラーがどこnewAmount、ライン42上にあることが示された』エラー:void値が無視されるべきではなく、エラー:値を返す文を返す

#include <iostream> 
#include <math.h> 
#include <stdlib.h> 
void FutureValue(double, double); 
using namespace std; 

int main(int argc, char** argv) { 

    //Declare variables 
    int amount; 
    int newAmount; 
    int interestRate; 

    cout << "Please enter the dollar amount. " << endl; 
    cin >> amount; 

    cout << "Please enter the interest rate(e.g., nine percet should be entered as 9.0)." << endl; 
    cin >> interestRate; 

    newAmount = FutureValue(amount,interestRate); 

    cout << "The new dollar amount is" << newAmount << endl; 

    return 0; 
} 

void FutureValue(double initialAmount, double interestRate) 
{ 

    //Declare variables 
    double finalAmount; 

    finalAmount = (1 + interestRate/100) * initialAmount; 

    return(finalAmount); 
} 

です。 2番目は57行目で、return(FinalAmount)がどこにあるかです。

この問題に関するヘルプは大歓迎です!

+3

? FutureValueではおそらくvoidではなくdoubleを返すことにしました。 –

答えて

1

FutureValueの次の行は、関数の戻り値の型がvoidであるため正しくありません。

return(finalAmount); 

はまた、main

newAmount = FutureValue(amount,interestRate); 

ラインは同じ理由による権利ではありません - 関数の戻り値の型はvoidです。

関数の戻り値の型をdoubleに変更します。

double FutureValue(double initialAmount, double interestRate) 
{ 
    //Declare variables 
    double finalAmount; 

    finalAmount = (1 + interestRate/100) * initialAmount; 

    return(finalAmount); 
} 

のように簡略化することができます:あなたが理解していない「機能で 『空』を返す値を持つreturn文」のどの部分

double FutureValue(double initialAmount, double interestRate) 
{ 
    return (1 + interestRate/100) * initialAmount; 
} 
+0

ありがとうございました!その部分で戻り値の型を2倍に変更し、コードの初めにも戻りました。 – sighs