0

Hi ladies and gents,

I'm trying the next exercise:

Write a function value, wich adds the decimal numbers of 'n' together and return the result of this into main? For example:

0.1234 = 10

0.01234 = 10

0.3286 = 19

What Ive got so far is this:

```
short amount (float n)
{
short a = 0, i, totvalue = 0;
for (i = 0; i < sizeof (n); i++)
{
a = n = (n * 10);
n -= a;
totvalue += a;
}
return totvalue;
}
int main()
{
double a = 0.1234;
cout<<"Value = " << amount(a) <<endl;
return 0;
}
```

Problem is, when I run threw the loop in the function and arrive at the fourth digit '4', the compiler changes the number into '39997' and I get a wrong result :o

Also, is it possible to change the working of the loop using binary operators?

Thanks for the help :!: