开发者

I'm having trouble writing a console application to create a simple program to solve a math equation for superannuation

Could some one help me with this? I've racked my head over an hour and I can't get it to work. This is in C++ and I've been learning for a little bit but I'm still new...

int main()
{
 double rate, amount,time, S;

    cout << "Insert the time of the super: ";
    cin >> time;

    cout << "Insert the rate (as a decimal, eg 1% AKA 101% = 1.01): ";
    cin >> rate;

    cout << "Insert the amount $: ";
    cin >> amount;

    S =("amount * (rate ^ time - 1)", pow(rate,time));
    cin >> S;

    cout << "The total amount is: " << "S /(rate - 1)" << endl;

    system("PAUSE");
    return 0;
}

i dont get a compile error bu开发者_开发问答t i can never get an answer from it


You "never get a result" because you're setting S to the result of pow with comma operator weirdness then assigning to it again with the line

cin >> S;

which is waiting for you to input another number.

You have two main problems. Here is the updated code with comments on the altered parts:

int main()
{
    double rate, amount,time, S;

    cout << "Insert the time of the super: ";
    cin >> time;

    cout << "Insert the rate (as a decimal, eg 1% AKA 101% = 1.01): ";
    cin >> rate;

    cout << "Insert the amount $: ";
    cin >> amount;

    S = amount * pow(rate, time - 1); // take away the quotes and don't make pow seperate

    cout << "The total amount is: " << (S /(rate - 1)) << endl; // do the calculation and output it

    system("PAUSE");
    return 0;
}

Remember that things inside quotes "like this" are string literals, so "4 * 4" is a string but 4 * 4 (see the absence of quotes) does multiplication which yields the number 16.


I don't think you should assign values to S the way you are doing it. S is declared as double and you are assinging a string to it initially. And when you output the result you are also enclosing the calculation in quotes. You should simply cout << S / (rate-1); // without quotes or cout will simply output the string

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜