I'm pretty much going to restate what MiiNiPaa said;
By declaring the variable "amount" as type double you are basically promising your code that the variable named "amount" will be given a number. Your code freaks out like that because it can't take a letter into a double variable so it keeps trying to pull a number from the input even though it keeps getting a letter.
I'd suggest making the variable "amount" into a string instead, then check if it contains a letter or a number. If it's a letter then just make the variable "after" into whatever amount the letter represents, if it's a number then change amount into a double and then pass it off to your rounding function. Look up the function "stod" in the link below for changing a string to a double.
The stod function might be a little beyond what you're ready for if you're just starting since it kind of touches on pointers and variable addresses, but it's good to know that it is out there and can be done when you're ready.
You should #include <string> at the top of your code.
The fix to Miinipaas' first note is on line 7. (before>=0)
I do want to say good job for a first code, you've already gotten into writing functions which is impressive this early.