1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Little Help with investment and interest rates

Discussion in 'C++' started by Prof. Krauf, Jul 9, 2009.

  1. Prof. Krauf

    Prof. Krauf New Member

    Joined:
    Jun 20, 2009
    Messages:
    20
    Likes Received:
    0
    Trophy Points:
    0
    Hi. I'm currently stuck here trying to figure out this code I'm trying to construct. I'm trying to write a function that computes future investment value at an interest rate given for a number of years.

    so far I've constructed this.

    Code:
    #include <iostream>
    using namespace std;
    int main()
    {
    double futureInvestmentValue (double investmentAmount,
          double monthlyInterestRate, int years);
    
    accumulatedValue =
    investmentAmount x (1 + monthlyInterestRate)
    
    
    
    
    
    system ("pause");
    return 0;
    }

    I believe I should have something that involves/looks like this?

    The amount invested: 1000
    Annual interest rate: 9%

    Years Future Value

    1 1093.8
    2 1196.41
    ...
    29 13467.25
    30 14730.57
     
  2. xpi0t0s

    xpi0t0s Mentor

    Joined:
    Aug 6, 2004
    Messages:
    3,012
    Likes Received:
    203
    Trophy Points:
    0
    Occupation:
    Senior Support Engineer
    Location:
    England
    Start by working out how you would do it with a calculator. Then just convert that into C code.
    If you can't do the second part, post how you would do it with a calculator and we can help you.
     
  3. Prof. Krauf

    Prof. Krauf New Member

    Joined:
    Jun 20, 2009
    Messages:
    20
    Likes Received:
    0
    Trophy Points:
    0
    Do you mean something like using the InvestAmount as say 1000 and multiply that by 1 and 0.09. That would come out to be 1001.09 right? Errr.
     
  4. Prof. Krauf

    Prof. Krauf New Member

    Joined:
    Jun 20, 2009
    Messages:
    20
    Likes Received:
    0
    Trophy Points:
    0
  5. xpi0t0s

    xpi0t0s Mentor

    Joined:
    Aug 6, 2004
    Messages:
    3,012
    Likes Received:
    203
    Trophy Points:
    0
    Occupation:
    Senior Support Engineer
    Location:
    England
    How are you going to calculate the interest? Will it be once a year just adding 9% of the balance? Will it be monthly (as you seem to refer to this at some point) and if monthly will that be 1/12 of 9%, or the 12th root of (1+9%) (the latter allows for compound interest which will work out at 9%pa, whereas the former will give you more than 9% over the year)?

    If it's just once a year adding 9% to the balance, then the calculation is just
    balance = balance * (1+annualInterestRate)

    so for example a balance of 1000 becomes 1000*(1+0.09) = 1090.

    But where did you get the following figures from, and how was 1093.8 calculated?
     
  6. Prof. Krauf

    Prof. Krauf New Member

    Joined:
    Jun 20, 2009
    Messages:
    20
    Likes Received:
    0
    Trophy Points:
    0
    Well I was just asking if it should look something like that.

    what should go in for the cout part?
     
  7. xpi0t0s

    xpi0t0s Mentor

    Joined:
    Aug 6, 2004
    Messages:
    3,012
    Likes Received:
    203
    Trophy Points:
    0
    Occupation:
    Senior Support Engineer
    Location:
    England
    Dunno. This is why I asked where you got those values from. 1093.8 obviously isn't 1000*(1+0.09) so that must have been derived by some other calculation.

    Just trying an educated guess in a calculator: 1000*(1+0.09/12)^12=1093.806898 -- that seems close; that's the interest rate divided by 12 and applied monthly as compound, thus leading to 9.38% interest rather than the stated 9% -- that may or may not be correct, which is why you need to check where you got 1093.8 from -- who gave you that number, or was it a number you worked out yourself?

    Why do you have a variable called monthlyInterestRate? If you're just calculating the value year on year at 9% per annum, you would use the annual rate directly. Or have you been told to calculate the value monthly?

    > Well I was just asking if it should look something like that.

    No, it'll be very different. You need to declare your variables, and you shouldn't be declaring futureInvestmentValue() as a private function.

    > what should go in for the cout part?

    Depends what you want to display. If you want to display
    1 1093.8
    2 1196.41
    then probably what you want will be something like:
    Code:
    cout << yearNumber << " " << accumulatedValue << endl;
    
    But you have quite a way to go before that.
     
  8. Prof. Krauf

    Prof. Krauf New Member

    Joined:
    Jun 20, 2009
    Messages:
    20
    Likes Received:
    0
    Trophy Points:
    0
    this maybe?

    Code:
    #include <iostream>
    using namespace std;
    
    double futureInvestmentValue ( double investmentAmount,
                                   double monthlyInterestRate,
                                    int years);
    
    int main()
    {
    
    
    
    
    
    
      system ("pause");
      return 0;
    }
    
    
    double futureInvestmentValue ( double investmentAmount,
                                   double monthlyInterestRate,
                                    int years)
    {
    
       // FV = PV ( 1 + i)ยช
    
       //   investmentAmount * (1 + monthlyInterestRate);
    
     
    
    }
     
  9. xpi0t0s

    xpi0t0s Mentor

    Joined:
    Aug 6, 2004
    Messages:
    3,012
    Likes Received:
    203
    Trophy Points:
    0
    Occupation:
    Senior Support Engineer
    Location:
    England
    No idea. I'm stuck until you answer my questions.
     
  10. Prof. Krauf

    Prof. Krauf New Member

    Joined:
    Jun 20, 2009
    Messages:
    20
    Likes Received:
    0
    Trophy Points:
    0
    I was given the number part from someone else, but I think I've got it. Annual result is what i need though adding in amounts from user.
     

Share This Page