This should not be happening....

Ok, so I decided to try and write a simple chat bot.
To start, I made it so he will scan the string that you input, and see what emotion you have. (this is just the base, eventually he will read verbs and such)

Now, the weird part is that, it doesn't let you say your happy because it just says "It sounds like you have mixed emotions!"
even though your only happy and I want it to say that if your happy and sad.
Every other emotion works, but not happy.

It seems you have broke all good program design principles. As a result you have this incomprehensible and unstable code.
1. Why input, i and found variables are global ones?! You never use it outside the findwords function (and no need to use it in a such manner).
2. The only reasonal functionality of the findwords function is to report about word occurence in the input string. It's exactly the same as string::find functionality. Moreover, the findwords call loops are wrong: your loops overwrite all findword results except the last one.
3. No need to pass std::string argument by value. As usually the most effective and safe method looks like:

bool findspecial(const string& where, const string& what);

4. It seems you don't know about a safe and clear initialized array size construct: