# Determining order of magnitude of user inputed number?

• 10-19-2010
alizzle
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.
• 10-19-2010
alizzle
Nevermind. Its the log of the number inputted..

Duh... Man this took way too long to figure out.