Determining order of magnitude of user inputed number?

We are doing a homework practicing our ability to write our own functions.

I need to find the order of magnitude of numbers inputted. According to the instructor, the OoM(50) = 1, OoM(100) = 2, OoM(3250)= 3, and so on.

So essentially, its scientific notation. 50 = 5.0 x 10^1

I cannot think of a way to code for this... I mean is it the 10th root of each number?

Hell, I know how to find the OoM on my own, I know how to write a damn function, but I can't figure out a way to solve this

Here's what I have coded so far:

Code:

`#include <cstdlib>`

#include <iostream>

#include <cmath>

using namespace std;

int OoM(double number);

/*takes a number inputted by the user and gives the user that number's order

of magnitude*/

int main(int argc, char *argv[])

{

double input_number;

int result; //result will be the OoM of the number input

cout << "Enter a number to find out it's order of magnitude:" << endl;

cin >> input_number;

result = OoM(input_number);

cout << "The order of magnitude of " << input_number << " is:" << endl;

cout << result << endl;

system("PAUSE");

return 0;

}

int OoM(double number)

{

return (pow(number,(1/10)));

// takes a user input number and takes the 10th root

// returning this in int form gives us the OoM. Compiler gives warning

// however we WANT this conversion of double to int because the OoM is always

// an integer. The number you may be trying to find the OoM of could be of

//type double, but it's OoM is always an int.

}

Any help would be appreciated.