help with matching strings

In C programming how do i check if a char is equal to a vowel , like a e i o or u, small or big case.
in my function i have the parameter like *word, and i am using word [i]in a for loop, to check if its equal. i use tolower(word[i])=='a' || .....

but for some reason it only matches on lower case and not upper case...

Without the source code portion in question any answer can not be more than an educated guess.

However here's a snippet for guidance.

#include <stdio.h>
#include <ctype.h> /* for tolower function */

int main (void)
{
    char *word = "HolA";

   /* ignore the mechanism to bring the exercise to pass, it could be any loop */
    while (*word) {
        if (tolower(*word) == 'a') { /* here's the working bit */
            printf("Found an '%c'\n", *word);
        }
        ++word;
    }
    return 0;
}