Public Group

# to the power of

This topic is 3499 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

## Recommended Posts

hello i need help. i have a simple financial calculaor as a small project i am working on to help learn the language of C++ and was wondering. how to calculate compound interest when i use the formulae 20000 * 1.06 to the power of 20. but how do show " to the power of " in my program?

/* this program shows the user how much they could potentially make on interest
on how much money they are wishing to initially invest.*/

#include <iostream>

using namespace std;

int main ()
{
double initial_ammount;
double interest_per_year;
double final_bank_balance;
double overall_interest_earned;
char choice;
double num_of_years;
double interest_per_year_as_decimal;

cout << " hello and welcome to my finance calculator ";
cout << "\n";
cout << " if you want to see how much money you would have in the bank after a certain ammount of years ";
cout << "\n";
cout << " please enter 1 ";
cout << "\n";

switch(choice)
{
case '1' :

cout << " please enter the ammount of money you wish to initially save ";
cin >> initial_ammount;
cout << " please enter how much interest you get per year (between 1 and 15 %) ";
cin >> interest_per_year;
cout << "please enter the number of years you wish to save for ";
cin >> num_of_years;

interest_per_year_as_decimal = (interest_per_year / 100) + 1;
final_bank_balance = (initial_ammount * interest_per_year_as_decimal)^num_of_years;

cout << " your final bank balance = " << final_bank_balance << " pounds ";
break;

}



##### Share on other sites
In C++ you would use the std::pow() function in the cmath header.

##### Share on other sites
Kind of off topic, but for someone learning C++, before you really start using 'using namespace std;', a good practice is knowing what is actually in the std namespace. For instance, the only thing I see in your program right now is std::cout and std::cin. A lot of people on here will tell you that using a 'using' command for a whole namespace is bad practice, personally, in the program you are running right now I would just us 'using std::cout; using std::cin;'.

##### Share on other sites
i thought if i put in using namespace std; i would be saving time on writing. can i ask why its bad practice i am very new to c++ programming (less than week)

and how would i incorporate pow() as number of years?
for instance if i input 5 years how would i make that to the power of 5?

##### Share on other sites
pow(x, y) returns xy.

##### Share on other sites
thanks for help anyways i am gonna hit the hay cya tommorow :D

##### Share on other sites
For the simple project that you are using right now, it's not a bad practice at all. But once you get into larger projects, you will find yourself overloading operators. And when that happens, you will have cout (as an example) doing more than just sending output. That way you can use cout (the one that you initialized), as well as std::cout.

With that said, I'm not trying to say that you should use it, but a bad way of learning (I found out the hard way) is to use that as a crutch and not be able to remember exactly what all is in the std namespace. For instance, I still try to use std::vector and std::string without the reference to the namespace on multiple occasions, leaving my code very erroneous. That's why I say that you should use 'using std::cout' instead of calling the whole namespace, that way you remember everything that you are using.

##### Share on other sites
Ah ha, one of the few Glaswegian GDNeters! [smile]

Quote:
 Original post by emforcei thought if i put in using namespace std; i would be saving time on writing. can i ask why its bad practice i am very new to c++ programming (less than week)
Because everything in the std namespace gets pulled up to global scope. For instance, if you were to #include <vector> with your using namespace std; directive, you'd be unable to use the word vector anywhere after the directive without causing compile errors (Nitpick: I'm sure someone will point out cases where that isn't true [smile]).
It's far preferable to specify a specific class you wank to bring out of the namespace, like:
using std::cin;
using std::cout

That'd mean you don't have to write std::cin or std::cout, and could use it without the std:: prefix, just as you are in your code at the moment.

Quote:
 Original post by emforceand how would i incorporate pow() as number of years?for instance if i input 5 years how would i make that to the power of 5?
[/quote]
final_bank_balance = std::pow(initial_ammount * interest_per_year_as_decimal, num_of_years);

##### Share on other sites
Quote:
 Original post by Evil Stevefinal_bank_balance = std::pow(initial_ammount * interest_per_year_as_decimal, num_of_years);

With that equation if you start with 2 dollars with 5% interest per year, you would have a final account balance of 0.01 dollars after 2 years.

##### Share on other sites
Quote:
Original post by SiCrane
Quote:
 Original post by Evil Stevefinal_bank_balance = std::pow(initial_ammount * interest_per_year_as_decimal, num_of_years);

With that equation if you start with 2 dollars with 5% interest per year, you would have a final account balance of 0.01 dollars after 2 years.

This equation is consistent with the way banks now have to operate to stay afloat [smile]

1. 1
2. 2
Rutin
20
3. 3
4. 4
A4L
15
5. 5
khawk
14

• 13
• 26
• 10
• 11
• 9
• ### Forum Statistics

• Total Topics
633737
• Total Posts
3013615
×