1. Limited time only! Sign up for a free 30min personal tutor trial with Chegg Tutors
    Dismiss Notice
Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

C++ Question: Calculate the Investment at time n

  1. Oct 4, 2016 #1
    1. The problem statement, all variables and given/known data
    Pretend you have some money (ha!) that you want to invest in the stock market. Ask the user for:

    1. The initial investment

    2. Yearly estimated market growth

    3. How much (if any) you wish to withdraw from the account per year

    4. The desired level of money you wish to get
    The growth formula per year is simply:
    I_new = I_old x (1+g)
    Assume you withdraw money from the account after it grows (you cannot withdraw more than the account has!). Find out how long it takes to reach the desired amount of money (if it is reachable at all).


    2. Relevant equations
    I completed the program but when I ran g =-0.1 with other given values, I was supposed to obtain 340.11 as my instructor required, but I got a whole number: 360.

    3. The attempt at a solution
    Code (C):
    #include <iostream>
    #include <cmath>
    using namespace std;
    int main()
    {
        double I_0, g, W, BAL, I;
        cout << " Initial Investment? ";
        cin >> I_0;
        cout << " Yearly growth rate? ";
        cin >> g;
        cout << " Yearly withdraw amount? ";
        cin >> W;
        cout << " Desired balance? ";
        cin >> BAL;
        I = I_0*(1 + g);
        int i = 1;
        if (W <= I_0 && g >= 0)
        {
            for (i = 1; I < BAL; i++)
                {  
                    I = I - W;
                    I = I*(1 + g);
                }
                    cout << " Years: " <<  i << endl;
                    cout << " Balance at the end: "<< I << endl;
                    cout << " Amount withdrawn over period: " << W*i << endl;  
        }
        else if (W >= I_0)
        {
            cout << " Years: " <<  i << endl;
            cout << " Balance at the end: "<< 0 << endl;
            cout << " Amount withdrawn over period: " << I << endl;
        }
     
        else if (W <= I_0 && g <= 0)
        {
            for (i = 1; I >= 0; i++)
                {  
                    I = I - W;
                    I = I*(1 + g);
                }
                    cout << " Years: " <<  ceil(i) << endl;
                    cout << " Balance at the end: "<< 0 << endl;
                    cout << " Amount withdrawn over period: " <<W*i << endl;  
        }
        return 0;
    }
     
    Last edited by a moderator: Oct 4, 2016
  2. jcsd
  3. Oct 4, 2016 #2

    Mark44

    Staff: Mentor

    What were the other input values you used?

    Also, when you post code, please include code tags. I have added them in your post.

    They look like this:
    [code=c]
    <your code>
    [/code]
     
  4. Oct 4, 2016 #3
    Here are the data:

    Initial investment? 1000
    Yearly growth rate? 0.1
    Yearly withdraw amount? 20
    Desired balance? 1000000
    Years: 18
    Balance at end: 0
    Amount withdrawn over period: 340.114
     
  5. Oct 5, 2016 #4

    Mark44

    Staff: Mentor

    You said in an earlier post that you were using -0.1 as the growth rate.
    Which is it, a growth rate of 0.1 or -0.1?
     
  6. Oct 5, 2016 #5
    The growth rate is -0.1. I am sorry I did not notice. Thank you.
     
  7. Oct 5, 2016 #6

    Mark44

    Staff: Mentor

    If the growth rate is -0.1 and you start with 1000 and withdraw 20 each year, you'll never get to 1,000,000.
     
  8. Oct 6, 2016 #7

    Mark44

    Staff: Mentor

    @Hughng, any progress on this problem?
     
  9. Oct 6, 2016 #8
    Hello Mark,
    Yes, if you keep withdrawing the money given the initial amount above, you will not get the desire investment. The assignment will ask you to "cout" O for final balance, but you still have to print out the number of years that will take to exhaust your account, and the total amount you can withdraw until you have nothing to withdraw. However, I had an issue which was I could not print out the desired withdrawn amount as the assignment require: 340.11. I got a whole number which is 360.
    Thank you.
     
  10. Oct 6, 2016 #9

    Mark44

    Staff: Mentor

    Why do you think that $340.11 is the correct amount? If you withdraw $20 per year for 18 years, that's $360.
     
  11. Oct 7, 2016 #10
    I did not think so, but the assignment asked me to print out the desired result. I submitted the assignment, but I really appreciate your help.
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook

Have something to add?
Draft saved Draft deleted



Similar Discussions: C++ Question: Calculate the Investment at time n
  1. C/C++ hw question! (Replies: 3)

  2. C++ question (Replies: 1)

  3. ROOT / C++ Questions (Replies: 8)

Loading...