** EDIT **
I'm only doing the multiple couts in testing so I can see what each function is doing. I'll clean that up in my final draft. And yes, this is obviously homework.
The reason your function "Reverse" is not working is because you are returning the wrong string from the function "Pal".
When "Pal" is called it ends up in the variable "sent". You try to put the lower case letters in the variable "pal", but that is lost when the for loop ends.
Between the variables "sent" and "pal" think about which one needs to be returned.
In the end the whole function needs redone and the variable "pal" is not even needed. As it is "pal" is defined inside the function and is lost when the function ends, so you can not even use it. This is a much simpler function:
1 2 3 4 5 6 7 8 9 10 11
string Pal(string sent)
{
//string pal;
for (int i = 0; sent[i]; i++)
sent[i] = tolower(sent[i]);
cout << sent << std::endl;
return sent;
}
Now when you use the return value in "main" to call "Reverse" you will be using all lower case letters.
"Reverse" is working. I will take a closer look at it shortly.