This is test function for a bigger program I'm working on. For some reason
it always skips straight to the else block in the string_test function as if
I didn't enter Y or N in main. Help?
Your vector "storage" is expecting integers, and you're attempting to pass in doubles.
As for it always acting as though you didn't respond 'Y' or 'N', the string_test function will always throw bad_input, because you don't have it blocked off. You're also passing in the value of entry (a copy of the variable), not the memory location itself. Look into using pointers.
Or, you could alternatively change the return type of string_test to int, and return 0 when resume == "Y", and 1 when resume == "N" and use that number accordingly.