You do realise that a string is a sequence of characters, don't you?
And that a string of characters such as "123" needs to be handled properly in order to convert it to a number?
Your code
for(int i=0;i<money.length();i++)
{
amnt=money[i]*10+1;
}
Looks at each character in the string: '1' then '2' then '3'. But these are not the same as the numbers 1, 2, and 3: they are characters. What that means is that they have a character value which is translated to a display device as a visible digit, not the numeric value that you see.
Here[
^] is a table showing a system of character values against display values. If you try to treat them as numbers they way you are doing, you will get huge errors in your numbers.
Instead, use the built in functions which convert strings to numbers: atoi, atol, atod etc.
amnt = atod(money);
instead of your for loop. (There are other ways, but I'll leave them for your tutor!)